如何记录合同自发起以来发出的所有事件?

时间:2017-05-30 04:01:07

标签: ethereum truffle

我目前正在使用Truffle框架进行检查,但所有文档都围绕着观看当前事件。

var meta = MetaCoin.deployed();
var events = meta.allEvents();
events.watch(function(error, result) {
  if (error == null) {
    console.log(result.args);
  }
}

1 个答案:

答案 0 :(得分:3)

您需要指定过滤器对象,以便从genesis(第一个块的加密人员单词)到现在获取所有事件。

以下代码应该有效:



MetaCoin.deployed().then(meta => {
  const allEvents = meta.allEvents({
    fromBlock: 0,
    toBlock: 'latest'
  });
  allEvents.watch((err, res) => {
    console.log(err, res);
  });
});




那说:小心这样的一般查找。您可以轻松崩溃JSONRPC端点。

进一步阅读:https://github.com/ethereum/wiki/wiki/JavaScript-API#contract-allevents