Web3js
如何使用 web3 發送令牌而不是 eth?
我有一個函式可以將 eth 發送到與 web3 簽訂的契約中的函式:
await contract.methods.withdraw(i).send({ from: from }); debug("withdraw in battle: "+i); }
我想使用不同的令牌而不是乙太幣。如何使用代幣支付?我怎樣才能做到這一點?我在 web3 中看不到 token 參數。
讓我們從這個開始 - ETH 不是代幣,而是硬幣,因為它是乙太坊區塊鏈的原生。代幣是建立在現有區塊鏈之上的邏輯。在乙太坊網路中進行區塊鏈運動只能以 ETH 費用支付。
但是,如果您嘗試做的不是用代幣支付費用,而是實際將代幣發送到合約方法,那麼您的合約應該已經以這樣的方式建構,以接受這些代幣並根據您的邏輯對它們做一些事情。您可以在智能合約中定義合約方法的參數,然後從 web3 部分傳遞它們。
米羅斯拉夫給出了很好的解釋。你也可以看看這個。