如何将我的智能合约与另一个已部署的智能合约连接起来?
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();
}
}
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();
}
}