我有一个 chainlink 节点,并且有些交易似乎被卡住了。如何修复待处理的传出确认?
大多数情况下,您没有使用 Gas 为您的 chainlink 节点账户提供资金。转到您的配置并获取ACCOUNT_ADDRESS
并将 ETH 发送到该地址。
第二个最常见的情况是您使用的是过时版本的 chainlink 节点。请使用0.9.4或更高版本。
对于待处理的传出确认:
- 您没有为您的 chainlink 节点账户提供 Gas 资金。
- ETH链堵塞了。
- Your
MIN_OUTGOING_CONFIRMATIONS
你的变量.env
太高(设置为默认值)
如果您在您的预言机合约地址上看到待处理的交易,那么它很可能是#2。如果您没有看到任何内容,则很可能是#1。
If #1, you can just send some ETH to your node and it should be fine. You can find your node's address ACCOUNT_ADDRESS
in the configuration page of your Chainlink GUI.
如果#2你可以:
- 您可以从数据库中删除待处理的交易,并希望一切都清楚(这是一个好的解决方案,希望智能合约有一个重试参数来处理您的数据。但是如果您的节点保持卡住,那么没有人能够获取数据.)
DELETE FROM job_runs WHERE status = 'pending_outgoing_confirmations';
DELETE FROM tx_attempts WHERE confirmed = 'f';
- 如果您需要完成这些交易,您可以重播交易 https://support.mycrypto.com/how-to/sending/checking-or-replacing-a-transaction-after-it-has-been-sent用更多的 ETH 气体来推动他们更快地通过。这做起来有点棘手。 Chainlink 节点有一个内置系统,无需您执行任何操作即可推动交易,因此希望它们能够发挥作用。
如果#3
设置或更改您的MIN_OUTGOING_CONFIRMATIONS
并重新启动节点。
对于待处理的传入确认:
这可能是由于网络拥塞或者您正在没有太多事务的网络上工作。一个简单的解决方法是减少传入确认的数量并重新启动节点。
In your .env
文件,添加或设置以下内容:
MIN_INCOMING_CONFIRMATIONS=0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)