Solidity-匿名方法

本文介绍了智能合约中匿名函数的概念及其应用场景。通过一个Solidity合约示例,展示了如何使用匿名函数来处理未定义的函数调用及以太币接收,并讨论了其在实际部署中的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

合约发布工具及版本: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;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值