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

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

Stack Overflow用户
提问于 2020-10-16 19:22:03
回答 2查看 116关注 0票数 2

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

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

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

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

回答 2

Stack Overflow用户

发布于 2020-10-18 16:18:26

@ stackexchange的Patrick为我的问题提供了一个全面的答案,参见https://ethereum.stackexchange.com/a/89451/64282

票数 2
EN

Stack Overflow用户

发布于 2020-10-17 14:10:41

首先,当对表使用20c中的块链选项时,插入的新行将通过从上一个插入行计算新的chainvalue来链接。这些内容存储在隐藏的列中,可以提取,但不能通过更新进行更改。刚删除后,确定的时间后插入。现在转到事务处理:默认情况下,Oracle Db被读取、提交并使用分配给每个ddl的SCN,执行dml。这意味着,当您插入一行时,就会立即计算chainvalue -这意味着,在开采时,ETH/美元汇率。现在您可以做一个技巧:(1)使用一个名为txscn的colum,它存储当前的SCN和txts类型的DATimestamp和一个序列计数。当您的验证过程返回时,您将插入一个新行,该行将使用ETH/美元汇率、SCN (1)和当前TIMestamp创建一个新的chainvalue。这将导致用于验证的一对行中的每一个TX --如果进程未返回,则只写入初始行--或者您避免编写第二行,因为验证需要一定的时间。我假设Blockchain的REST也是这样做的,因为它允许等待完成的时间和TX id。当我正确地撤销文档时,一种“闪回”并不存在。

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

https://stackoverflow.com/questions/64395188

复制
相关文章

相似问题

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