Solidity
Solidity 事件未從 Web3.js 顯示
我正在嘗試設置一個事件
Solidity
並從中收聽,Web3
但我不斷收到null
回复。這是我的程式碼:契約的相關部分:
event NewUser(string userid); function createNewUser(string memory _userId) public { // creating the user and setting it to a mapping emit NewUser(_userId); }
,
Javascript
來自Ethereum's
參考:async function watchEvents(contract) { contract.events.allEvents({ fromBlock: 0 },function(error, event){ console.log('all events?'); console.log(event); }) .on('data', function(event){ console.log(event); // same results as the optional callback above }) .on('changed', function(event){ // remove event from local database }) .on('error', console.error); }
使用另一個
javascript
功能,我可以看到正在創建新使用者,並且交易被列為成功Ganache
。但該watchEvents
方法不斷列印null
。我錯過了什麼?
truffle-config.js
您可以通過在文件中添加以下內容來試用 Web 套接字。networks: { development: { provider: function() { return new Web3.providers.WebsocketProvider("ws://localhost:7545"); }, network_id: "5777" } ... }
您將必須導入 Web3。