Javascript
如何從事件數據中提取錢包地址?
我有一個返回事件數據的契約,包括發件人的地址:
event Result( address indexed _walletAddress, string _name, uint256 _amount )
在我的 Node.js 應用程序中,我嘗試擷取地址:
const address = result[0].topics[1];
但由於某種原因,地址包含額外的“00000000000000000000000”:
0x0000000000000000000000001fcda174c13691ef3c13fcee042e0251452c0f8s
如何以正確的形式提取地址?
0x1fcda174c13691ef3c13fcee042e0251452c0f8s
任何幫助是極大的讚賞
您可以通過使用
web3.eth.abi.decodeLog(inputs, hexString, topics);
. 第一個參數輸入必須包含智能合約中事件的屬性,第二個hexString是事件的字節碼,第三個主題是包含主題的數組。在這裡閱讀更多。