(六)以太坊开发,合约之间调用

1、代码
pragma solidity ^0.4.0;

contract D {
    uint public x;
    uint public amount;
    
    
    function D(uint _a) payable{
        x = _a;
        amount = msg.value;
    } 
}


contract E {
    event e(uint x,uint amount);
    
    D d = new D(4);
    
    function E(uint _u) payable{
        e(d.x(),d.amount());
        D d1 = new D(_u);
        e(d1.x(),d1.amount());
    }
    
    function creatD(uint _x,uint _amount){
        D d2 = (new D).value(_amount)(_x);
        e(d2.x(),d2.amount());
    }
}

2、创建合约E,并且存入100ETHER

(六)以太坊开发,合约之间调用_第1张图片

3、执行合约E的creat D函数

(六)以太坊开发,合约之间调用_第2张图片

4、查看合约事件

(六)以太坊开发,合约之间调用_第3张图片

5、执行成功,扣除E合约相应以太币

(六)以太坊开发,合约之间调用_第4张图片

你可能感兴趣的:(以太坊)