我正在尝试使用Chainlink Keeper网络,并编写了一个实现KeeperCompatibleInterface的契约。但是,即使我显式设置了upkeepNeeded = true,keeper网络仍然不会运行维护。我已经确保了合同有足够的资金。可能的问题是什么?
下面是相关的代码片段:
function checkUpkeep(bytes calldata checkData)
external
override
returns (bool upkeepNeeded, bytes memory performData)
{
return _checkUpkeep(checkData);
}
function _checkUpkeep(bytes memory checkData)
internal
view
returns (bool upkeepNeeded, bytes memory performData)
{
bool jobCanRun = (block.timestamp > _jobStartTime) &&
(block.timestamp < _expirationTime);
bool jobShouldRun = (block.timestamp.sub(_jobLastRun)) >=
_jobIntervalSeconds;
upkeepNeeded = jobCanRun && jobShouldRun;
performData = checkData;
// debug
upkeepNeeded = true;
}
function performUpkeep(bytes calldata performData) external override {
(bool upkeepNeeded, ) = _checkUpkeep("0");
require(upkeepNeeded, "Should not upkeep");
emit AtroposUpkeepPerformed();
_jobLastRun = block.timestamp;
}发布于 2021-07-02 23:12:02
使用更多链接令牌为您的upKeep合同提供资金。
upKeep需要一个最小的余额才能开始运行,基于汽油成本,链接令牌价格,以及你的维护需要多少汽油。我会从至少50个链接令牌开始。
请记住,Chainlink Keepers现在处于测试版,所以在测试版结束和用户反馈汇总后,所有这些都将被更好地记录下来。
https://stackoverflow.com/questions/68218018
复制相似问题