Events
有沒有辦法查看 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; } }
節點.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);
這是我在stackoverflow中提出的一個問題的轉貼。但我沒有設法在那裡得到答案 https://stackoverflow.com/questions/39981393/is-there-a-way-to-view-all-events-on-all-blocks-for-eris-blockchain
這在今天是不可能的,但它是一個普遍要求的功能。