Offchain Worker (上)

1 为什么要引入Offchain Features

区块链上的存储和计算资源都非常有限,这无法满足我们对性能的要求。Offchain Features 的引入可以在一定程度上解决这种问题,把需要长时间计算的、耗费大量存储的业务放在链下

那以太坊是怎么解决的呢,它通过Offchain Daemo对链上信息进行监听,然后基于监听结果进行各种逻辑处理,最后再将结果通过rpc传至链上

substrate 的offchain worker 在监听逻辑上其实与以太坊非常相似,区别在于以太坊的Offchain Daemo是独立的应用程序,代码的维护、管理、分发不会经过链上共识,而substrate的offchain worker逻辑在runtime中,这可以让链下业务逻辑共享链上逻辑升级方案

总结而言,substrate offchain worker:

  1. 集成度更高,链上链下代码管理统一,在一个节点内,维护性更好

  2. 链下代码经过共识验证,分发可靠性有保证,防止潜在的作恶行为

  3. 链下代码和链上代码共享同一份forkless升级策略

  4. 从offchain worker向链上发送交易,而不是通过外部的rpc通道,交易处理更加灵活和高效

2 Offchain Features 三大组件

Offchain Worker

Offchain Storage

Offchain Indexing

关于上面的三大组件详细内容可以参考之前的翻译以及原文:

原文链接:Offchain operations | Substrate_ Docs

注意:

  1. Offchain Worker可以直接读链上的数据(状态),但不能写

  2. 链上代码可以向Offchain Storage中写数据,但不能读

  3. 外层的node和rpc可以直接读链上存储的数据以及Offchain Storage中的数据

  4. 外层的node和rpc可以直接向Offchain Storage中写数据,但不可以向链上存储写数据

  5. 在链上存储数据或者更改数据只能通过发交易的形式(经过共识验证数据)

3 Offchain worker 功能

  1. 提交签名和未签名的交易(计算后的数据或者fetch到的信息)

  2. 实现了标准的HTTP客户端,可以发送GET/POST请求等

  3. 可以读取本地数据库并在offchain workers之间共享数据

  4. 读取本地账户信息,签名和验证信息或者交易

  5. 产生真随机数

  6. 访问本地精确的unix时间戳

  7. 可以暂停和恢复工作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值