Robonomics Network 的责任合约在 Neon EVM 上成功执行

Duke
6 min readOct 5, 2022

--

Neon Labs 最近与Robonomics Network合作,使用复杂的工作流程验证 Neon 平台是否已准备好进行生产。该练习涉及在 Neon EVM 上部署和测试 Robonomics 的智能合约。部署的合约允许网络物理系统(机器人)根据技术经济交易执行某些操作。

在 Robonomics 网络中,参与是在两方之间形成的:订购服务的承诺人,提供技术任务描述和执行资金,以及实际执行服务的承诺人。交互由称为 Provider 的特殊节点协调。Provider 不断观察网络以获取来自 Promisee 和 Promisor 的信号。

该练习检查了一个常见的用例流程:

  1. 承诺人与承诺人之间的合同成立。
  2. 由此产生的“工作/行动”由承诺人执行并由第三方验证。
  3. 促成双方(Promisee 和 Promisor)之间合约的节点获得了佣金。

对于委托的工作/动作,机器人手臂的模拟根据 Promisee 和 Promisor 之间的合同执行了一系列动作。代表机器人动作的遥测数据由机器人记录并保存,以验证工作是否完成。

谁是机器人经济学?

Robonomics Network 是一个开源物联网应用平台,旨在通过在用户应用程序、物联网服务和复杂机器人技术之间自动传输技术和财务数据来利用分散式架构。Robonomics 可以轻松启动安全的无服务器 dApp,将用户数据隐私和设备安全放在各个通信级别的首位。

我们的目标

通过 Neon EVM 部署和测试 Robonomics 智能合约的目的是通过复杂的工作流验证 Neon 网络的有效性。该工作流程涉及:

  1. 责任合同所定义的承诺人与承诺人之间的成功承诺。责任合约是一种智能合约,它复制了服务的 Promisee(消费者)和 Promisor(服务提供者)之间的常规连接。它还包括他们交换的技术和财务条款。Promisee 和 Promisor 可以是自主代理或人类。
  2. 在成功执行商定的“工作/行动”后,承诺人向承诺人(服务提供商)付款。
  3. 由观察 Neon 网络的第三方对承诺人同意的“工作/行动”进行验证。

测试方法

为了模拟涉及由网络物理系统 (CPS) 提供的全自动业务和服务的用例,我们选择了一个场景,其中两个自治代理分别充当 Promisee 和 Promisor。该用例说明了未来的“智慧城市”或企业如何利用区块链网络。Neon EVM 在此用例上的成功将证明其作为尖端产品的可行性。

该测试将评估 Robonomics 网络中的责任合同生命周期,如下所示:

该图显示了为构建责任合同而采取的行动。首先,Robonomics 网络提供商调用Lighthouse 合约,这是一种特殊的智能合约,当 Provider 节点在 Promisee 和 Promisor 对之间建立市场匹配时执行交易。Lighthouse 合约又调用 Factory 合约。有关交易的信息,包括职权范围、服务付款、验证者的地址和截止日期,都包含在责任合同中。

该团队通过与此示例类似的责任合约实施了机器人启动场景,以便在 Neon 网络上复制 Robonomics 基础设施。如果您对 Robonomics 的更多潜在用例感兴趣,请查看Robonomics 研发页面

测试范围

测试的范围集中在已部署的合约上:

测试执行

Robonomics 团队通过创建来自 Promisee 的报价消息和需求消息来开始模拟。在此阶段,团队期望公开报价消息和需求消息通过 Lighthouse 合约的 createLiability 函数触发创建责任合约。

在创建责任合约之后,观察到 XRT 合约验证代币是否从 Promisee 的地址正确转移到了责任合约的地址。

一旦在 Neon devnet 上检测到新的责任合同,Promisor 代理(模拟机器人)就开始按照责任合同中的说明工作。代表模拟机器人工作输出的遥测数据被写入文件并发送到 IPFS。结果,遥测数据文件的哈希值被保存。

然后使用 Lighthouse 合约的 finalizeLiability() 函数完成责任合约。在最后阶段,Robonomics 团队确认代币已从责任合约的地址转移到承诺人和验证人的地址。

您可以在此处观看该过程的记录。下图概述了 Neon EVM 上的测试场景。

项目可交付成果包括Robonomics 合同源代码和实现测试场景的源代码。所有合约都是为 Solidity 0.5.0 编写的。因此,在 Neon EVM 上部署和使用合约时无需进行任何更改。还可以在README.md中找到启动测试练习的分步说明

发现

所有合同都按预期运行。模拟机器人履行了对 Promisee 方的义务,并交付了一份包含遥测数据的文件,记录了其行为。Provider 节点也正确地促进了 Promisor(模拟机器人)和 Promisee 之间的接合,并因其参与得到了准确的补偿。工作输出也经过第三方验证。

关于 Neon 平台的缺点,Robonomics 团队注意到 Neon Labs 需要研究的一个有趣的网络特征:

Neon EVM 没有 WS/WSS 端点。与以太坊不同,Neon EVM 没有 WS/WSS 端点,因此无法订阅来自网络的事件。因此,Robonomics 团队在测试期间手动监控事件。

结论

现在轮到您将智能合约部署到 Neon EVM。请务必让我们知道您的想法。如果您有任何问题或需要更多指导,请查看我们的Neon 文档或联系 Discord上的团队成员。我们知道你会创造出伟大的东西!

--

--