Web3js

如何使用 web3 發送令牌而不是 eth?

  • August 22, 2021

我有一個函式可以將 eth 發送到與 web3 簽訂的契約中的函式:

await contract.methods.withdraw(i).send({
   from: from
   });
   debug("withdraw in battle: "+i);
}

我想使用不同的令牌而不是乙太幣。如何使用代幣支付?我怎樣才能做到這一點?我在 web3 中看不到 token 參數。

讓我們從這個開始 - ETH 不是代幣,而是硬幣,因為它是乙太坊區塊鏈的原生。代幣是建立在現有區塊鏈之上的邏輯。在乙太坊網路中進行區塊鏈運動只能以 ETH 費用支付。

但是,如果您嘗試做的不是用代幣支付費用,而是實際將代幣發送到合約方法,那麼您的合約應該已經以這樣的方式建構,以接受這些代幣並根據您的邏輯對它們做一些事情。您可以在智能合約中定義合約方法的參數,然後從 web3 部分傳遞它們。

米羅斯拉夫給出了很好的解釋。你也可以看看這個

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