智能合约内部调用另一个智能合约
最近在看以太坊,顺便记录一下,这篇文章的目的是一个智能合约调用另一个智能合约的方法,写个demo记录一下pragma solidity ^0.4.18;contract DataContract {mapping (address => uint256) public balanceOf;function setBlance(address _addres...
·
最近在看以太坊,顺便记录一下,这篇文章的目的是一个智能合约调用另一个智能合约的方法,写个demo记录一下
pragma solidity ^0.4.18;
contract DataContract {
mapping (address => uint256) public balanceOf;
function setBlance(address _address, uint256 v) public {
balanceOf[_address] = v;
}
}
contract ControlContract {
mapping (address => uint256) public tmp;
DataContract dataContract;
function ControlContract(address _dataContractAddr) public {
dataContract = DataContract(_dataContractAddr);
}
function set(uint256 value) public {
dataContract.setBlance(msg.sender, value);
tmp[msg.sender] = value + 10;
}
}
说明 DataContract合约提供了一个公共方法setBalance, ControlContract合约中会调用set方法来更新自己与DataContract保存的数据。
首先部署DataContract合约,然后部署ControlContract合约,在创建的时候需要指定DataContract合约地址。
首先调用set方法
发送成功后就可以查看了
至此一个合约调用另一个合约可以实现
更多推荐
已为社区贡献1条内容
所有评论(0)