2016-10-11 43 views
1

有没有办法查看Eris Blockchain的所有块的所有事件?目前,我已经成功地只订阅特定事件有没有办法查看Eris Blockchain的所有块的所有事件?

合同

contract IdisContractsFTW { 
    uint storedData; 
    string name; 

    event SetName(address indexed _from, string _name); 

    function set(uint x) { 
    storedData = x; 
    } 

    function get() constant returns (uint retVal) { 
    return storedData; 
    } 

    function setName(string _name){ 
    name = _name; 
    SetName(msg.sender, _name); 
    } 

    function getName() constant returns (string retVal){ 
    return name; 
    } 

} 

Node.js的

var myContract; 

var IdisContractsFTW = JSON.parse(fs.readFileSync('./abi/' + 'IdisContractsFTW', 'utf8')); 
var myContractFactory = manager.newContractFactory(IdisContractsFTW); 


myContractFactory.at(incoming.address, function(error, contract){ 
    if(error) {throw error} 
    myContract = contract; 

    if(myContract){ 

     myContract.SetName(
      function(error,eventSub){ 
      if(error){ 
       throw error; 
      } 
      if(eventSub){ 
       console.log(JSON.stringify(eventSub)); 
       response.statusCode = 200; 
       response.setHeader('Content-Type', 'application/json'); 
       response.write(JSON.stringify(eventSub)); 
       response.end('\n'); 
      } 


     }, function (error,event) { 
       if(error){ 
        console.log("listenContractEvent error:"+error); 
       } 
       if(event){ 
        console.log("event:"+JSON.stringify(event)); 
       } 

      } 
     ); 



    } 

}); 

我目前在Node.js的代码只是打印出每次它创建的事件。我试图获得由此合同IdisContractFTW创建的一系列事件。感谢您对此建议。

这里的管理对象是使用

var contracts = require('eris-contracts'); 
manager = contracts.newContractManagerDev(chainUrl, accounts.simplechain_full_000); 
+0

我已将此问题添加到ethereum论坛以及http://ethereum.stackexchange.com/questions/9188/is-there-a-way-to-view-all-events-on-all-blocks - 用于-厄里斯-blockchain –

回答

相关问题