在 以太坊中合约间是可以相互调用,并且正常进行参数传递以及返回值处理.
contract1.sol
pragma solidity ^0.4.0;
contract Test1 {
uint256 public v=7;
function vote(uint256 a) public returns (uint256) {
v=a;
return (a);
}
}
contract2.sol
pragma solidity ^0.4.0;
import "./contract1.sol";
contract Test2 {
Test1 public t;
uint256 public v=7;
constructor(address t1) public {
t=Test1(t1);
}
function vote(uint256 a) public {
v=t.vote(a);
}
}
如下调用Test2.vote(3)
会将合约Test1的 v 和合约Test2的 v 都设置为3.