首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链接节点:当事务挂起时,该怎么办?

链接节点:当事务挂起时,该怎么办?
EN

Stack Overflow用户
提问于 2020-06-29 14:06:20
回答 1查看 1.3K关注 0票数 2

我有一个链接节点,有些事务似乎被卡住了。如何修复挂起的外发确认?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-29 23:34:02

大多数情况下,您没有用gas为链接节点帐户提供资金。到你的托辞处,拿起ACCOUNT_ADDRESS,把ETH发送到那个地址。

第二个最常见的情况是,您使用的是链结的过时版本。请使用0.9.4或更高版本。

对于待发的确认书:

  1. 您没有用gas为您的链接节点帐户提供资金。
  2. ETH链堵塞了。
  3. 您的MIN_OUTGOING_CONFIRMATIONS变量在您的.env中太高了(它被设置为默认值)

如果你在你的甲骨文合约地址看到挂起的交易,那么它很可能是#2,如果你没有看到,它很可能是#1。

如果#1,您只需发送一些ETH到您的节点,它应该是好的。您可以在Chainlink GUI的配置页面中找到节点的地址ACCOUNT_ADDRESS

如果#2你可以:

  1. 您可以从数据库中删除挂起的事务,并希望一切都清理干净(这是一个确定的解决方案,希望智能契约有一个重试参数来处理数据。但是如果你的节点被卡住了,那么没有人能够得到数据。)
代码语言:javascript
复制
DELETE FROM job_runs WHERE status = 'pending_outgoing_confirmations';
DELETE FROM tx_attempts WHERE confirmed = 'f';
  1. 如果您需要这些事务通过,您可以重播交易与更多的ETH气体,以推动他们更快通过。这件事做起来有点棘手。Chainlink节点有一个内置的系统,可以在不需要做任何操作的情况下推动事务通过,因此希望它们能够启动。

如果#3设置或更改您的MIN_OUTGOING_CONFIRMATIONS并重新启动节点。

对于待处理的传入确认:

这可能是由于网络拥塞,或者您正在处理的网络没有很多事务。一个简单的解决方法是减少传入确认的数量,并重新启动节点。

.env文件中,添加或设置以下内容:

MIN_INCOMING_CONFIRMATIONS=0

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

https://stackoverflow.com/questions/62639935

复制
相关文章

相似问题

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