智能合约Solidity教程-事件和日志(一)

本文详细介绍了以太坊智能合约中的事件event和日志log,阐述了它们的概念、定义方式及触发机制。事件event是区块链记录数据的重要手段,常用于异步获取执行结果、与前端交互,且存储成本低于storage。通过示例展示了在Solidity中如何定义事件,并在web3.js中监听并展示事件日志。
摘要由CSDN通过智能技术生成

简述:事件是以太坊提供的基本功能,用来将数据记录成日志,保存在区块链上,同时事件也可用于用于和外部交互,例如和前端的交互、异步调用等作用。solidity中,事件是指操作触发的行为,而日志则是触发事件后,将数据记录在区块链上形成日志。

本文主要介绍以下几点:

  • 什么是事件event、日志log
  • 事件event如何定义、如何触发
  • 事件event有什么作用
什么是事件event、日志log

事件event是以太坊提供的基本功能,用于将数据记录成日志保存到区块链上,用户可以自定义需要记录的数据,以及topic和索引;日志是指事件保存在区块链上的数据。事件强调操作行为,日志强调存储内容,两者是完全不同的概念。

事件event如何定义、如何触发

solidity中,使用关键字event来定义事件,其中参数列表就是需要保存到区块链上的数据,其中最多可以有三个参数被描述成indexed,表示该参数可以被索引,添加indexed的参数本身不会保存,但是可以通过参数值来检索。

以下内容是使用truffle unbox webpack命令生成的项目中已有的合约代码

contract MetaCoin {
    mapping (address => uint) balances;

    // 定义事件
    event Transfer(address indexed _from, address indexed _to, uint256 _
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值