Javascript

如何從事件數據中提取錢包地址?

  • February 19, 2020

我有一個返回事件數據的契約,包括發件人的地址:

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是事件的字節碼,第三個主題是包含主題的數組。在這裡閱讀更多。

引用自:https://ethereum.stackexchange.com/questions/79949