织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 区块链

为什么Compound选择使用Substrate进行独立链的开发(9)

时间:2021-06-11 17:04来源:未知 作者:admin 点击:
在 offchain_worker 代码中,会调用到 ethereum-client/ 提供的以太坊基础类型和辅助工具,发 http 请求到以太坊的事件服务器,批量获取以太坊的 events,并分类处

  •   在 offchain_worker 代码中,会调用到 ethereum-client/ 提供的以太坊基础类型和辅助工具,发 http 请求到以太坊的事件服务器,批量获取以太坊的 events,并分类处理

  •   处理后的结果会以发交易的形式从 offchain_worker 中提交到链上

  •   进入 Runtime 业务逻辑进行处理

  •   pallets/oracle/ 里面的逻辑流程也类似:在 offchain_worker 中,用 http 请求从喂价机地址获取数据,然后提交给链上使用。

      理解了上述流程后,也就能比较轻松地理解 Compound 在 Ethereum 上做 Compound Governance Proposal 是如何影响到 Gateway 链上的验证人节点集合更新的了。其仍然是通过以太坊的事件向外抛出信息,事件服务器搜集到事件后,缓存下来。Gateway 这边的 Offchain worker 每新增一个块就去事件服务器上批量取一次最近的事件。获取到最近的事件后,按对应的逻辑迭代处理就行了。而 Substrate 中要更新验证人集合,需要用到 Controler account,以及 SetKeys 等相关由 Substrate 提供的功能。

      限于篇幅,我们这里的分析点到为止,这里只简要的分析了 Gateway Pallet 粗线条的逻辑流程,然后对 Offchain Worker 部分做了重点关注。

      可以看到,Gateway 充分利用 Substrate 提供的基础设施,很方便地实现了业务逻辑以及链上代码与链下代码的集成,以及与其它链的交互。整个代码实现得非常清晰,值得我们学习借鉴。

    总结

      本篇,我们介绍了 Gateway 的总体架构,Substrate 的功能模块,Substrate 框架的特色之处,以及 Gateway 是如何充分使用 Substrate 提供的基础设施进行独立链的开发。

      限于篇幅,很多地方只能点到而止,文末附上一些链接,可供大家扩展阅读。

      笔者水平有限,欢迎读者使用以下邮箱与我联系:mike@oct.network。

      参考资料

      1.Introducing Gateway: https://medium.com/compound-finance/gateway-623f6f48d2b6

      2.Gateway Document: https://docs.google.com/document/d/1bp4uLYHt0_lUNO3dveFGelXYAC-M7RojqY-5jPDyUlM/edit#heading=h.ymt4jrq294bj

      3.Compounds Gateway: a deep dive into setting up a validator node. https://medium.com/ethereum-on-steroids/compounds-gateway-a-deep-dive-into-setting-up-a-validator-node-399a2817702d

      4.https://github.com/compound-finance/gateway

      5.Substrate.dev: https://substrate.dev/docs/en/

      6.《2020 开发者调查报告:Rust 再次成为最受欢迎的语言》 https://mp.weixin.qq.com/s/xGZqrXfzfthVSIUWIQWENA

    (责任编辑:admin)
    织梦二维码生成器
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 验证码:点击我更换图片
    栏目列表
    推荐内容