Solidity-匿名方法

前言:

合约发布工具及版本:mist v0.9.3

一:匿名方法

一个合约可以有一个匿名函数。此函数不能有参数,也不能有任何返回值。当我们企图去执行一个合约上没有的函数时,那么合约就会执行这个匿名函数。

此外,当合约在只收到以太币的时候,也会调用这个匿名函数,而且一般情况下只会消耗很少的gas,所以当你接受到以太币后,想要执行一些操作的话,你尽可以把你要的操作写到这个匿名函数里,因为这样做成本非常便宜。

二:实例

pragma solidity ^0.4.18;
contract A {
    uint public data;

    event e(address from, uint _u);
    function() public payable{
        data += 1;
        e(msg.sender, data);
    }
}


contract CallA {
    event e(bool _b);
    function CallA() public payable{

    }

    function callTest(address add) public returns(bool){
        bool b = add.call(bytes4(keccak256("setMoney")));
        e(b);
        return b;
    }
}

你可能感兴趣的:(区块链)