Web3js
將填充的主題地址轉換為有效的地址字元串
我正在解析主題數組中的一些資訊。
我在某些索引中收到 32 位填充地址。是否有 web3 實用功能或有用的輔助方法可以將這些恢復到正常大小的地址?
我不確定我是否會刪除正確數量的 0 以獲得我正在尋找的相同有效地址。
請指教
簡單一點:
function paddedToChecksumAddress(address) { if (address.slice(0, 2) === '0x') address = address.slice(2) while (address.slice(0, 2) === '00') address = address.slice(2) return web3.utils.toChecksumAddress('0x' + address) }
編輯:
web3.eth.abi.decodeParameter('address', address)
是正確的方法
嘗試任何長度的填充:
getAddress(address) { const web3Utils = require('web3-utils'); let i = -1; let exit = false; let result = address; while(!exit && i < address.length){ i++; result = "0x" + address.substring(i); exit = web3Utils.isAddress(result); } return web3Utils.toChecksumAddress(result); }