Web3js

使用 web3.js 傳輸 ERC-20 令牌時金額錯誤

  • December 15, 2021

當我在 Etherscan 或 Remix 上執行該方法時,金額是正確的,並顯示為令牌符號CSHIP

在此處輸入圖像描述

然而,在我的一生中,當我在我的 javascript 應用程序中實現它時,我無法獲得正確的顯示數量。我的程式碼如下:

let amt = 1e16;
const hash = await web3React.library.provider.request({
   method: "eth_sendTransaction",
   params: [
       {
           from: web3React.account,
           to: farmAddress,
           data: shipContract.methods
           .transfer(farmAddress, web3.utils.toHex(amt) + "")
           .encodeABI(),
           nonce: (await web3.eth.getTransactionCount(web3React.account, "latest")) + "",
       },
   ],
});

這是執行該程式碼時的結果: 在此處輸入圖像描述

請注意,不僅金額錯誤,而且令牌符號CSHIP也沒有出現。我究竟做錯了什麼?

您的to參數應該是您正在執行傳輸方法的合約的地址 - 您正在發送的令牌的地址。大概shipContract.address

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