在Chainlink测试节点运行MultiWord作业的相关疑问咨询
Chainlink MultiWord响应作业配置问题解答
1. params字段下address参数的确认
你贴出的作业规范里的address参数确实需要替换为你自己部署的Oracle合约地址,官方示例中的地址仅作演示使用,本地测试场景下直接套用会无法正常运行。
2. 智能合约中jobId与Oracle地址的指定位置
通常有两种常用的实现方式,你可以根据业务需求选择:
- 构造函数固化:如果你的业务不需要动态更换Oracle服务和对应作业,直接将这两个值作为构造函数入参,在合约部署时传入并存储为状态变量即可,示例逻辑如下:
// 状态变量定义 address public oracle; bytes32 public jobId; uint256 public linkFee; constructor(address _oracle, bytes32 _jobId, uint256 _linkFee) { oracle = _oracle; jobId = _jobId; linkFee = _linkFee; // 其余初始化逻辑 }
- 动态传参:如果需要灵活切换不同的Oracle节点和作业,不需要提前固化这两个值,直接在发起Chainlink API调用的业务方法中,将二者作为方法入参传入即可。
内容的提问来源于stack exchange,提问作者Daniel Vieira
相关产品推荐
相关产品推荐

