【发布时间】:2021-10-15 18:30:59
【问题描述】:
Assalamualaikum,
我是区块链新手。所以我正在考虑部署一个智能合约作为rest api,并在我的另一个智能合约中使用它。 是否可以? 我知道 oracle 有助于获取数据,但它可以帮助交互两个已部署的合同吗? 提前致谢。
【问题讨论】:
标签: blockchain ethereum solidity smartcontracts chainlink
Assalamualaikum,
我是区块链新手。所以我正在考虑部署一个智能合约作为rest api,并在我的另一个智能合约中使用它。 是否可以? 我知道 oracle 有助于获取数据,但它可以帮助交互两个已部署的合同吗? 提前致谢。
【问题讨论】:
标签: blockchain ethereum solidity smartcontracts chainlink
您可以在源合约中定义目标合约的接口。示例:
TargetContract,部署在0x123 地址:
pragma solidity ^0.8;
contract TargetContract {
function foo() external pure returns (bool) {
return true;
}
}
SourceContract,指向0x123TargetContract
pragma solidity ^0.8;
interface ITargetContract {
function foo() external returns (bool);
}
contract SourceContract {
function baz() external {
ITargetContract targetContract = ITargetContract(address(0x123));
bool returnedValue = targetContract.foo();
}
}
【讨论】: