繁体   English   中英

chainlink:如何使用 v0.8 部署 Operator?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM