You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chainlink节点任务超时及FulfillOracleRequest2不执行问题求助

Chainlink节点问题解决方案

一、延长Fetch阶段超时时间

可以通过修改节点配置或任务Job Spec来延长等待时长:

  • 全局节点配置:找到节点的config.toml配置文件,添加或修改HTTP超时参数,根据需求调整时长:
    [HTTP]
    Timeout = "60s" # 示例设置为60秒,可按需调整为120s等更长时间
    
    修改后重启节点生效,注意不要设置过长时间,避免占用节点资源。
  • 特定任务配置:如果仅需针对单个任务的外部适配器调整,可在Job Spec的HTTP步骤中单独设置超时:
    {
      "id": "fetch-external-data",
      "type": "http",
      "params": {
        "timeout": "60s"
      }
    }
    

二、FulfillOracleRequest2执行失败排查

根据你提供的交易截图(内容显示:交易状态失败,调用Operator合约的fulfillOracleRequest2函数),常见原因及解决办法:

  • 权限校验失败:确认执行该函数的钱包地址已在Operator合约中被授权为节点地址。可调用合约的getAuthorizedSenders()方法查询,若未授权,需通过addAuthorizedSender()方法添加该地址。
  • 请求ID不匹配:检查任务返回的请求ID是否与合约发起请求时生成的ID完全一致,排查Job Spec中请求ID的传递逻辑是否存在错误。
  • Gas不足:fulfillOracleRequest2执行需要足够Gas,可在节点配置中提高Gas上限,或在Job Spec的以太坊执行步骤中设置gasLimit参数:
    {
      "id": "fulfill-request",
      "type": "ethereumFulfill2",
      "params": {
        "gasLimit": "500000"
      }
    }
    
  • 参数格式错误:核对fulfillOracleRequest2的传入参数(请求ID、返回数据、发送者地址等)是否符合合约定义的要求,比如数据长度、格式是否匹配。

内容的提问来源于stack exchange,提问作者Yogesh Agrawal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 02:18:21