本文环境:以太坊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 contra