本文环境:以太坊POA联盟链 + MetaMask + Remix
1.方法
本文介绍“接口直接调用法”,实现合约对合约的调用;
这种方式调用,是最简单方便的调用方式,缺点是只能调用固定的接口,不够灵活。
以下是调用一个已经部署的合约的 deposit 方法。
pragma solidity ^0.5.10;
interface ContractInterface {
function deposit(string calldata _name) external payable returns(bool);
}
contract InterfaceCall {
function callDeposit(address _contract, string memory _args)
public
returns(bool)
{
ContractInterface ci = ContractInterface(_contract);
bool retValue = ci.deposit(_args);
return retValue;
}
}
2.示例
2.1 contractA.sol
pragma solidity^0.5.0;
contract contractA {
uint randNonce = 0;
uint randomN;
address own
本文详细介绍了在以太坊POA联盟链上,如何通过MetaMask和Remix进行合约间的调用。使用'接口直接调用法',虽然只能调用固定接口,但操作简便。文中给出了contractA和contractB两个合约的示例,以及部署和测试过程,包括如何解决权限限制问题。所有合约均为原创测试用例。
订阅专栏 解锁全文
573

被折叠的 条评论
为什么被折叠?



