智能合约内部调用另一个智能合约

最近在看以太坊,顺便记录一下,这篇文章的目的是一个智能合约调用另一个智能合约的方法,写个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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值