思路:
1、獲取錢包W的所有交易記錄。
2、將所有交易記錄中的發(fā)送方(from)和接收方(to)記錄到一個數(shù)組A中。
3、按照ABI規(guī)則,從每條交易記錄的input字段中去掉前面8個字符大小的方法名,然后將剩余的部分按照64字符進行分割,得到參數(shù)列表。由于地址在參數(shù)列表中是居右的,我們可以通過比較ETH地址的長度來確定是否為有效地址參數(shù)。如果長度一致,則將該參數(shù)存入數(shù)組A。
4、遍歷數(shù)組A,調(diào)用ERC20標準合約中的symbol和decimals方法。如果兩個方法都存在,則表示該元素為代幣,并將其存入數(shù)組B。
5、遍歷數(shù)組B,調(diào)用ERC20合約中的balanceOf方法獲取代幣余額,并將余額存入數(shù)組C。
6、完成上述步驟后,我們成功獲取到錢包W中的所有代幣B及其余額C。
最后更新日期:2022年02月15日