架构设计
三个主要模块:

外部数据源
VictorLink 节点
Vision blockchain
这些是 VictorLink 预言机节点架构的主要组成部分,下面我们将逐个介绍。
外部数据源
外部数据源代表原生区块链外部可获取的数据,例如中心化交易所、中心化预言机、股票交易所的 API 接口等。
VictorLink 节点
VictorLink 节点运行任务处理,监听链上合约请求(以 Event 方式监听),从外部数据源获取数据,然后向区块链提交数据结果。
Vision blockchain
区块链节点主要指 Vision 区块链提供的 API 服务,包括 Fullnode API 和 Event API 服务。 通过这些 API, VictorLink 节点可以监听特定合约事件来启动任务,同时也可以通过 API 服务签名广播交易, 将数据返回给消费者合约。
VictorLink 请求模型
创建请求

处理请求
预言机合约的事件会异步触发如下流程:

聚合请求模型
在实际应用中,往往需要通过聚合多个预言机的方法来获得更准确的结果,同时过滤掉异常值。
例如价格聚合功能,从多个交易所提供的预言机服务聚合得到平均价格或中位数价格。
价格聚合相关逻辑参考: https://github.com/vision-consensus/victorlink/blob/master/vvm-contracts/v1.0/VisionUser.sol
Updated almost 3 years ago