如何将我的智能合约与另一个已部署的智能合约连接起来?

How to connect my smart contract with another deployed smart contract?

Assalamualaikum,

我是区块链新手。所以我在考虑将智能合约部署为 rest api,并在我的另一个智能合约中使用它。 可能吗? 我知道 oracle 有助于获取数据,但它可以帮助交互两个已部署的合同吗? 提前致谢。

您可以在源合约中定义目标合约的接口。示例:

TargetContract,部署在0x123地址:

pragma solidity ^0.8;

contract TargetContract {
    function foo() external pure returns (bool) {
        return true;
    }
}

SourceContract,指向0x123 TargetContract

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();
    }
}