不会为以太坊智能合约生成事件日志
Posted
技术标签:
【中文标题】不会为以太坊智能合约生成事件日志【英文标题】:Event log is not generated for Ethereum smart contract 【发布时间】:2019-12-11 20:16:24 【问题描述】:我使用 remix IDE 和 metamask 为 ethereum ropsten 网络创建了一个以太坊智能合约。创建智能合约并进行交易。但这些事件不会记录任何事件。
生成智能合约的代码如下所示。
pragma solidity ^0.5.1;
contract SimpleStorage
uint storeddata;
function set(uint x) public
storeddata = x;
function get() public view returns(uint)
return storeddata;
得到的智能合约地址是
0xA41B2508Ee53cE00E07405Bc15A190F8af5dE0a4
未记录事件的原因可能是什么。
【问题讨论】:
你没有初始化事件在 set 函数中发出 【参考方案1】:这是因为运行上述代码时没有注册事件。你可以重写代码如下。
pragma solidity ^0.5.1;
contract SimpleStorage
uint storeddata;
event Store(uint _value);
function set(uint x) public
emit Store(x);
storeddata = x;
function get() public view returns(uint)
return storeddata;
第四行和第六行应该可以解决你的问题
【讨论】:
以上是关于不会为以太坊智能合约生成事件日志的主要内容,如果未能解决你的问题,请参考以下文章