http://www.7klian.com

区块链普及实验:技能详解唯链指定生意业务费代付协议 VIP-191

-------------------------- MPP - Add User -------------------------- TXID = 0x508f50692c88054c5f8df982937b2871cae3cde002a4bc58e975277acca53c87 From = 0xe4660c72dea1d9fc2a0dc2b3a42107d37edc6327 To = 0x000000000000000000000050726f746f74797065 GasPayer = 0xe4660c72dea1d9fc2a0dc2b3a42107d37edc6327 GasUsed = 25074 ... -------------------------- MPP - Add Credit Plan -------------------------- TXID = 0x57329507daadb47a8ea68375577f9699fce3f1329df4703451be36d3804aa853 From = 0xe4660c72dea1d9fc2a0dc2b3a42107d37edc6327 To = 0x000000000000000000000050726f746f74797065 GasPayer = 0xe4660c72dea1d9fc2a0dc2b3a42107d37edc6327 GasUsed = 44811 ...

最后一部门显示了 发送者 发送给 代付者 的生意业务,通过 MPP 协议,确实由 代付者 付出的。

演示内容

演示中利用了以下三个账号:

假设此刻 PAYER``0x76c3 要为 USER``0x9D6D 付出生意业务用度,我们来详细看一下 MPP 是如何实现这个需求的。首先,对应的 MASTER 需要挪用内置合约 Prototype 的函数在上述两个表格内各添加一笔记录(在图顶用赤色方框标出)。在左边表格添加的记录将 PAYER``0x76c3 和 USER``0x9D6D 关联起来,这奉告系统前者愿意为提倡自后者的生意业务付出生意业务用度。同时,在右边表格添加的记录显示 PAYER``0x76c3 愿意为 USER``0x9D6D 付出的生意业务用度额度。一旦 MPP 协议被激活,在额度答允的环境下,任何 USER``0x9D6D 提倡的生意业务的生意业务用度将由 PAYER``0x76c3 的 MASTER 来付出。虽然 MASTER 需要有足够的 VTHO。

完成了,就是这样简朴!

附:「关于唯链雷神区块链,你大概还不知道那些事儿」系列

原文标题:《关于唯链雷神区块链,你大概还不知道的那些事儿(第三篇) - 指定生意业务用度代付(VIP-191)》

本质上,我们可以认为唯链雷神区块链为 MPP 维护了两张虚拟表单(如下图所示)。左边的表单记录了 PAYER 与 USER 之间的对应干系,而右边的表格记录了 PAYER 最终愿意付出的用度额度。表格内每列的具体说明请拜见 MPP 的文档,此处不再赘述。

-------------------------- MPP - User Sends TX -------------------------- TXID = 0x87b68a65105f2cc5746b88e1e0fd5e1cf4f6d2dbf8459bb8ef2599957ffcb655 From = 0xd55100eedb61f1e553a38c33a234ce07952c43f2 To = 0xe4660c72dea1d9fc2a0dc2b3a42107d37edc6327 GasPayer = 0xe4660c72dea1d9fc2a0dc2b3a42107d37edc6327 GasUsed = 21000

2. 然后将结构好的函数通过 delegate 要领,通报给用以结构生意业务的 Connex.Vendor.TxSigningService 的工具。譬喻,你可以添加这样一行代码 :

地点以 0xd551 开头的生意业务 发送者(SENDER)

为了演示 MPP,我建设了两个从 代付者 发送的生意业务来挪用内置合约 Prototype,用以添加生意业务费代付干系和代付限额。然后,我建设一个由 发送者 到 代付者 的生意业务来演示 MPP 的代付结果。这里需要留意的是,由于 代付者 是一个普通(非合约)账户,它的 MASTER 就是 代付者 自己。别的,生意业务只能由 发送者 发送至 代付者,不然将无法利用 MPP 来代付用度。

Peter Zhou,唯链首席科学家,英国南安普顿大学计较机博士,先后以研究员和资深研究员的身份任职于英国肯特大学和芬兰奥卢大学,参加了欧盟和芬兰科学院重要科研项目,拥有十年计较机科研研发以及在国际一流学术杂志和集会会议上颁发科研成就之履历,于 2017 年插手唯链,主要认真唯链雷神区块链的科研研发及常识产权掩护等事情

第二部门显示的是挪用合约 Prototype 来激活 MPP 的两条生意业务信息。可以看到添加一个用户和一个代付限额的操纵别离需要约 25k 和 45k 的 Gas。

function (unsignedTx: { raw: string, origin: string }): Promise

VIP-191 的实现

VIP191 协议已在最新宣布的唯链雷神主网 v1.1.2 上实现。为了实现该协议,我们对付原有的代码做了以下两个重要变换:

地点以 0xe466 开头的生意业务费 代付者(DELEGATOR)

为了演示 VIP-191,我建设了一个从 发送者 到 吸收者 的生意业务。个中,发送者 和 代付者 都对改笔生意业务签名,从而答允生意业务费由 代付者 来付出。

为什么我们要引入 VIP-191

我们可以明明的看出,MPP 协议是站在 dApp 所有者的角度去设计的。在协议里,只有这些人有责任去为他们的合约配置 MPP 协议,而且 MPP 协议只对付发送去他们合约的生意业务有浸染。另外,由于 MPP 协议需要在链上记录关联信息,会发生必然的间接本钱。因此从用度的角度来看,MPP 协议对付用户与 dApp 之间有相对不变的干系的环境会较量划算,相反这种干系假如是姑且性的话则不是很划算。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读