[英]chainlink: how to deploy an Operator with v0.8?
我从 v0.6 开始并将我的节点连接到一个操作员(当时称为 Oracle)
pragma solidity ^0.6.0;
import "@chainlink/contracts/src/v0.6/Oracle.sol";
contract MyOperator is Oracle {
constructor(address _link) Oracle(_link) public {}
}
我的客户合同使用这些库
pragma solidity ^0.6.6;
import "@chainlink/contracts/src/v0.6/ChainlinkClient.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
当时我不得不使用 setFulfiullmentPermissions 连接它们:
await operator.setFulfillmentPermission(nodeAddress, true, {
from: owner,
});
======= 然后我移动到 v0.7,我的操作员是
pragma solidity ^0.7.0;
import "@chainlink/contracts/src/v0.7/dev/Operator.sol";
contract MyOperator is Operator {
constructor(address _link, address owner) Operator(_link, owner) public {}
}
我的客户合同使用这些库
pragma solidity ^0.7.0;
import "@chainlink/contracts/src/v0.7/ChainlinkClient.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
这次授权码看起来像这样
let tx = await operator.setAuthorizedSenders([nodeAddress], { from: owner });
===== 现在正在尝试迁移到 Chainlink v0.8
我在开发中看到一个 OperatorInterface 但不是真正的合同: https://github.com/smartcontractkit/chainlink/blob/develop/contracts/src/v0.8/interfaces/OperatorInterface.sol
为什么 Operator 实现不是 v0.8 的一部分?
如果我在我的项目中包含合约 Operator v0.7,truffle 会与版本不匹配混淆。
我无法在网上找到有关有人使用 v0.8 部署节点的资源。
我应该如何迁移到 v0.8 go,请问我应该为我的节点部署什么作为操作员?
Operator 仅在 ^0.7 中实现。 当前版本。
您可以使用 Hardhat 而不是 Truffle,Truffle 在一个项目中支持多个 solc 版本,然后使用 ^0.7 部署 Operator,并在 v0.8 中部署与之交互的客户端。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.