Ethers.js

在ethersjs中將數字轉換為字節?

  • November 19, 2021

我在javascript中有一個數字:

const oracleResponse = 1

我有一個以 abytes32作為輸入參數的函式

function fulfillOracleRequest(
   bytes32 _requestId,
   bytes32 _data
 )

我想將oracleResponsejavascript 轉換為它的字節版本,以便我可以呼叫這個函式。我該怎麼做呢?

*注意:const oracleResponse = ethers.utils.hexlify(1)將不起作用,因為這將返回0x1不正確的長度。

ethers還有一個填充功能,它將添加零以使其長度正確。看起來像這樣

const oracleResponse = ethers.utils.hexZeroPad(ethers.utils.hexlify(1), 32)

這會將您的結果填充為長度 32,並允許它被您的函式接受。

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