Solidity

web3 等效於 abi.encodePacked

  • April 13, 2022

web3中abi.encodePacked的等價物是什麼?

我正在嘗試生成(solidity)的等價物

keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", domainHash, functionHash));

使用 web3,從松露中進行測試。

到目前為止我知道

keccack256 = web3.utils.soliditySha3

abi.encode = web3.eth.abi.encodeParameters

abi.encodePacked = ??????????

如果你有合約的 ABI,你可以使用encodeABI

如果你沒有合約的 ABI,那麼你可以使用web3.eth.abi.encodeFunctionCall,或者結合其他一些函式from web3.eth.abi.*

您還可以使用實現此功能的 ethereumjs-abi 。

const ethers = require("ethers");
ethers.utils.solidityPack // nodejs equivalent of solidity's abi.encodePacked

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