Solidity

web3.utils.soliditySha3() 中的“t”和“v”是什麼?

  • May 20, 2021

我正在瀏覽一些程式碼,我已經看到:

const message = Web3.utils.soliditySha3(
     {t: 'address', v: recipient.address},
     {t: 'uint256', v: recipient.totalAllocation.toString()}
   ).toString('hex');
// see t and v above 
const web3 = new Web3('');
const { signature } = web3.eth.accounts.sign(
   message, 
   process.env.PRIVATE_KEY
);

web3.utils.soliditySha3() 中的“t”和“v”是什麼?他們在做什麼?他們的意思是什麼?

我已經瀏覽了web3 文件,但他們並沒有說太多。

tandv是 and 的別名typevalue如您連結的文件中所述:

具有 {type: ‘uint’, value: ‘123456’} 或 {t: ‘bytes’, v: ‘0xfff456’} 的對象

該類型用於在散列之前對值進行 ABI 編碼。

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