Contract-Development
如何將代幣轉移到一個地址?
我使用 truffle 和 openzeppelin 來發行我的 ERC20 令牌。我已經可以添加和購買令牌,但仍然無法將令牌轉移到另一個。
我為傳輸創建了前端
但我有點困惑如何將它連接到合約以便能夠將令牌轉移到接收者地址。
現在我剛剛創建了這樣的函式轉移:
transferToken() { let web3 = store.getState().web3.web3Instance const receiver = this.state.receipt_add const token_value = this.state.token_amount const token = contract(IYoToken) token.setProvider(web3.currentProvider) token.deployed().then(inst => { inst.transfer({ to: receiver, amount: token_value }) }) }
要執行 ERC20 代幣的轉移,您必須
transfer(address receiver, uint amount)
從您的代幣合約中執行該功能。在 javascript 中,它應該類似於
token.transfer(receiver, amount, { from: owner })
在你的情況下,這應該工作
transferToken() { let web3 = store.getState().web3.web3Instance const receiver = this.state.receipt_add const token_value = this.state.token_amount const token = contract(IYoToken) token.setProvider(web3.currentProvider) token.deployed().then(inst => { return inst.transfer(receiver, // <----- ERC 20 token token_value, { from: token_owner }) }) }
顯然
this.state.token_amount
是無效的。它應該是一個數字(整數)。也許this.state.receipt_add
也是無效的。