首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测量Elrond's transacion的执行时间

测量Elrond's transacion的执行时间
EN

Stack Overflow用户
提问于 2022-05-20 18:14:10
回答 1查看 52关注 0票数 0

我使用Python 3和erdpy发送事务。当事务以状态“成功”结束时,我在事务的数据中有一个时间戳,我认为这是事务进入区块链的时间。但是,是否有一种方法可以知道事务解决时间的另一个时间戳?

我想知道处理单个事务需要多长时间。

EN

回答 1

Stack Overflow用户

发布于 2022-07-27 14:53:23

我要说的是,(在我写这篇文章的时候),计算事务的处理时间并不是一项简单的任务。之所以会发生这种情况,是因为切分和处理如何发生交叉碎片。粗略的想法(据我理解)如下:

  1. 检索源碎片块的时间戳,事务首先在
  2. 上发布,检索目标碎片块的时间戳,或者最后一个SC结果在
  3. 上发布,减去两个

您必须注意这样一个事实,即事务可能因其目的的不同而有很大差异。它可以从一个简单的价值从一个帐户转移到另一个帐户,内部碎片或交叉碎片,到疯狂的雏菊链操作,如智能合同调用,反过来可能会调用另一个智能契约,而每一个可能产生的智能契约结果,必须以类似的方式传播,一个简单的交易将(这些基本上也是交易)。因此,您必须从第一个时间戳(通常是包含发送方碎片上的事务的第一个块的时间戳)计算到包含事务处理触发的最后一个事件的目标块的时间戳。

从技术上讲,你必须通过几个tx数据解析来挖掘这些块,在这些不同的散列之间交叉数据,我相信它会像这样:

  1. 从您的tx散列开始,找到
  2. 中包含的小块散列,转到NotarizedAtSourceInMetaHash,然后查找其中包含小块散列的块,并获得它的时间戳。这将是您的事务启动其执行流程的时间。
  3. 转到notarizedAtDestinationInMetaHash并查找包含您的迷你块哈希的块,并获得您应该用来减去第一个时间戳的最后时间戳。如果事务具有SCResults,则必须获取最新生成的SCResult的notarizedAtDestinationInMetaHash,并查找包含SCResult的散列的块。这将是您应该从.

中减去的最后一个时间戳。

同样,用一点盐来获取这个信息,因为我不是百分之百相信这是正确的方法来做这个计算。

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

https://stackoverflow.com/questions/72323224

复制
相关文章

相似问题

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