首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chainlink是否存储区块链上某个事务的Oracle响应?

Chainlink是否存储区块链上某个事务的Oracle响应?
EN

Ethereum用户
提问于 2020-10-16 19:25:17
回答 1查看 655关注 0票数 4

让我们考虑一个事务生命周期的例子,其中智能契约使用Oracle获取外部数据,ETH/美元价格提要实时更改。

事务是在挖掘期间执行的,因此它会创建对返回Price1的Chainlink预言的请求。Price1是否存储/缓存在块链的某个位置?

一旦挖掘了块,挖掘节点就会将其发送到其他Ethereum节点进行验证。

验证节点也执行该智能契约。随后调用Oracle以获取ETH/美元价格会发生什么情况?在块验证期间,甲骨文会返回“缓存”响应Price1,还是会得到Price2。这是否意味着如果我们得到Price2,那么块验证就失败了?

EN

回答 1

Ethereum用户

回答已采纳

发布于 2020-10-17 18:21:18

对你的问题的简短回答:是的,甲骨文的反应被储存在链上.

很长的答案:您可以阅读更多关于请求模型如何为链链接工作,以及它是如何在链上获取数据的,但是这里有一个要点,它将帮助回答这个问题。理解体系结构的最简单方法是了解runlog发起者是如何工作的。

  1. 链上合同通过向区块链日志发送事件向离链链接的甲骨文发出请求。此事件有关于要获取的数据类型以及如何返回数据的说明。链接节点,正在寻找这些事件。
  2. 然后,节点遵循指令,然后在链式节点进行的事务中,将数据放在由事件定义的链上。事件将指定数据将通过哪个函数运行。

您可以查看链式价格馈送页面并查看链上数据。他们甚至有一个指向以太扫描的链接,显示合同和数据存储在哪里。

您的问题很好,因为这就是为什么不可能将oracle系统内置到块链中,如果获取外部数据是验证过程的一部分,则没有节点能够达成共识。因此,Chainlink oracle将数据放在事务中的链上,然后通过与其他事务相同的验证过程。

票数 6
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/89424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档