了解以太坊事件日志协助智能合约开发的四个作用。
原文标题:《以太坊事件日志协助智能合约开发的 4 大作用》 撰文:Signor_Yuan
近日,由中国团队 Tokenview 开发的以太坊区块浏览器 eth.tokenview.com 正式上线「事件日志 Event logs」板块。当智能合约被调用时,也就是事件发送的时候,EVM 会触发参数存储到交易日志中,因此日志记录着智能合约所触发的事件。这些事件日志可以协助以太坊智能合约开发者和 dApp 开发者完成相关的开发、调试工作。
以太坊引入事件日志,主要为了实现以下四个作用。
为前端提供智能合约的返回值为前端同步数据通知检索历史交易详情数据存储以太坊智能合约的调用需要通过发送交易来完成,但由于以太坊 POW 的特点,交易的打包和确认需要时间,在网络拥堵的情况下,需要更久,在交易完成之前,合约调用的返回值为交易哈希。而通过监听以太坊智能合约的事件日志,前端可以在交易被打包的时候获取到该笔交易中智能合约调用的返回值,实现异步调用和通知。
另外,事件日志存储的 GAS 费用与链上数据存储相比要更加实惠。在以太坊存储 256-bit (32 字节)需要 20000 个 GAS,而事件日志每个字节只需要花费 8 个 GAS,只有前者的 1/78,因此某些场景下,我们可以考虑把数据存到事件日志里。
那么,事件日志可以提供哪些返回值,我们又如何通过事件日志检索历史交易详情呢?
USDT 是目前使用最广泛,也是市值最高的稳定币。目前 USDT 有 OMNI,ERC20 和 TRC20 三种,我们拿 ERC20 这类的某一笔交易为例。
这是一笔 USDT (ERC20)的交易哈希: https://eth.tokenview.com/cn/tx/9124958/101 Transaction hash: 0x2e3c91e9026cc6b0d896d70a5f20f0b5e28833d140d67a3b6c6eb42e5c52e4f5

通过区块浏览器可以看到该笔 USDT 交易的发生时间,发送方,接收方,以及 1 亿 USDT (ERC20)的交易额等信息。通过交易信息右边的事件日志,可以看到更多详细数据。

第一部分的地址(Address)展示的是该笔交易所调用的合约地址。
第二部分的题目(Topic)字符串表示本次调用事件的名称,即 ERC20 标准的 Event Transfer (Index_topic_1 address from, index_topic_2 address to, uint256 value)。下面的两个地址分别为 Transfer 的前两个参数,此处即为转出地址 from 和转入地址 to,可选十六进制或十进制。
第三部分的数据(Data)为转账金额,也是 Transfer 的最后一个参数,我们通过查看十进制下的余额,可以确定其转账金额为 1 亿 USDT。
Tokenview 展示了这笔交易的 Raw traces 以便开发者对详情进行追踪。

我们可以看到地址「0x6c9b1c9ffdf7291d5a27ea20aca2b26ec338a2c3」调用了智能合约「0x0417f2e41e8c68aca7b3c47dd62c734e9ceca862」。我们在「input」中可以追溯到该笔交易的接收地址和转账金额。
通过事件日志(Event logs)和 Raw traces,以太坊开发者可以追溯任何一个 Event 或 Function,从而协助进行智能合约和 dApp 的调用与开发工作。要想快速获取一定时间段 / 一定区块高度的事件日志,可以通过由 Tokenview 提供的相关 API 实现。
下面是获取 ETH 事件日志的一个例子: http://www.tokenview.com:8088/eth/tx/runlog/9000000/2

灵活的运用好以太坊事件日志,某些场景下,开发将会事半功倍。除了事件日志,以太坊还有更多有意思的设计等待大家探索挖掘。
21Shares携手法国兴业银行,强化德国及东欧市场加密ETP流动性
CME集团6月30日推出现货报价期货:比特币、以太坊及标普500等长达5年持有
eToro推出加密资产转账与兑现功能:比特币、以太坊可无缝投资多资产
nxtAssets GmbH携手SIX推出比特币与以太坊ETP:加密资产交易总数达398
Clearstream携手Crypto Finance推出加密资产托管服务,德意志交易所集团引领机构投资者新风潮
西班牙BBVA获批推出比特币和以太坊交易服务,零售客户可通过手机银行直接管理加密资产
Bybit遭遇重大黑客攻击,15亿美元数字货币被盗
Bybit遭遇安全漏洞,1.4亿美元以太坊代币被盗,市场反应激烈
Bybit交易所遭黑客攻击,14亿美元ETH被盗,资金安全隐患引发行业关注
以太坊 ETF 在美国上市首日交易量达 10 亿美元,占比特币交易量的 23%
现货以太 ETF 将于今日在 SEC 最终批准后开始交易
芝商所推出以微欧元计价的比特币和以太坊期货
Visa (NYSE:V) 設想在以太坊網絡上進行自動支付
俄罗斯银行建议对NFT、智能合约进行监管
MetaMask“Portfolio Dapp”新增跨链桥服务
0xScope:Alameda以太坊上627个地址总资产约1亿美元
Paradigm:BTC和ETH看跌期权的需求重新出现
Horizen Labs公布ApeCoin DAO质押系统界面
Avalanche基金会为交易平台GMX推出400万美元奖励计划
Chainlink与MVGX合作探索加密碳交易



