【发布时间】:2020-06-03 19:25:09
【问题描述】:
我已经从documentation 成功部署了一个chainlink 节点。我目前正在测试向 Ropsten 上的 chainlink 节点发送请求。一切都很好,直到我开始在每项工作中收到以下错误:BumpGasUntilSafe FindTxByAttempt: record not found。这个错误的原因通常是什么?又是什么意思?
【问题讨论】:
我已经从documentation 成功部署了一个chainlink 节点。我目前正在测试向 Ropsten 上的 chainlink 节点发送请求。一切都很好,直到我开始在每项工作中收到以下错误:BumpGasUntilSafe FindTxByAttempt: record not found。这个错误的原因通常是什么?又是什么意思?
【问题讨论】:
通常通过运行以下命令添加气体更新程序来解决此问题:
docker pull thodges/cl-gas-updater:latest
然后运行:
docker run --name gas-updater -d --restart unless-stopped -it -e CL_URL=http://172.17.0.1:6688 -e CL_EMAIL=<EMAIL_HERE> -e CL_PASSWORD=<PASSWORD_HERE> -e MAX_GAS_PRICE=500000000000 -e FALLBACK_GAS_PRICE=50000000000 -e ADD_GAS_PRICE=1000000000 thodges/cl-gas-updater
但是在-e CL_EMAIL=<EMAIL_HERE> -e CL_PASSWORD=<PASSWORD_HERE>的命令中输入您的电子邮件和密码到您的节点。
或者,如果您使用的是较新版本的节点(v0.8.4?),您只需将以下环境变量添加到您的 .env 文件中:
GAS_UPDATER_ENABLED=true
GAS_UPDATER_TRANSACTION_PERCENTILE=
ETH_GAS_BUMP_THRESHOLD=
ETH_GAS_BUMP_WEI=
然后将您认为合适的任何数字添加到您的节点以更新气体。
如果您成功将交易提交给 ETH 节点,则会发生该错误,ETH 节点接受该交易,但它从不广播它。
这可能发生:
ETH_URL 有问题 - 我发现特定 ETH 节点服务提供商存在一些问题。
由于 ETH 网络的气体波动,您根本没有为每笔交易发送足够的气体。
很可能是第 2 种情况。在这种情况下,您可以:
运行气体更新程序
手动更新gas变量并重启(不推荐)
gas 更新器只是一项 docker 工作,可根据网络的阻塞程度将您的 gas 更新到最“安全”的价格。目前,您可以运行一个自定义的 gas 更新程序,但似乎有计划在未来将这部分作为常规 Chainlink 节点软件的一部分。
要运行气体更新程序,请参阅此答案的第一部分。
这将为您的节点添加一个气体更新容器。
如果问题是 #1,(如果气体更新程序不起作用)您可能需要更改 ETH 节点提供程序。试试 fiews.io、infura.io 或 quiknode.io,或者运行自己的 ETH 节点。
【讨论】: