首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算事务的问题将被替换/拒绝或不接受。

计算事务的问题将被替换/拒绝或不接受。
EN

Ethereum用户
提问于 2023-03-07 00:39:07
回答 1查看 63关注 0票数 1

使用safe-service-client(https://github.com/safe-global/safe-core-sdk/tree/main/packages/safe-service-client)判断挂起的事务是否已被替换/拒绝。我所做的工作如下:

  1. 使用safeTxnHash使用safe-service-client.getTransaction()获取事务
  2. 使用safeInfo获取safe-service-client.getSafeInfo(safeAddr)
  3. 检查safeInfo.nonce > fetchedTransaction.nonce && !fetchedTransaction.isExecuted是否为真,如果为真,则意味着事务已被另一个事务替换,因为safeNonce已向上移动,但事务仍未执行。

这在很大程度上是可行的,但是有一种间歇性的情况,第一步中的响应表示事务尚未执行或成功(即使事务成功,如果我手动检查onchain),并且第二步中的响应会给出比事务当前更高的值。这使得我的脚本相信事务被拒绝了,而这实际上是成功的。

是否有其他方法来确定事务是否被拒绝?

EN

回答 1

Ethereum用户

发布于 2023-03-20 10:35:17

由于getSafeInfo是直接从Blockchain (使用eth_call)检索的,但是getTransaction需要处理事务并从服务中索引,所以getSafeInfo总是会更快地更新状态,而且我们对它无能为力,因为索引比简单的eth_call花费更多的时间。我们只能建议您在调用getTransaction之前等待半分钟,以便为事务索引提供时间。

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

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

复制
相关文章

相似问题

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