Web3js

web3 - web3.utils.toHex 零長度

  • September 2, 2019

我正在嘗試將 12 個整數作為字節發送到合約函式。如果我使用

web3.utils.toHex(12)

變數將變為 0xc

問題是合約函式在解析字節時讀取的是uint256,所以結果是revert。

如何生成具有特定長度的十六進制?像 uint256、128、64、32?

編輯:剛剛手動測試,我需要的變數是 0x000000000000000000000000000000000000000000000000000000000000000c 必須有辦法以某種方式生成它。

使用padLeft很簡單。所以首先你把你的十六進制轉換成字元串,然後填充你想要的長度(例如 uint256 是 32 個字節,所以你需要填充 64 個字元)。然後從該字元串中將其轉換回十六進制

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