Contract-Development

接受自定義代幣的智能合約

  • September 7, 2018

我已經在 Rinkeby 測試網上成功地創建了我自己的自定義令牌。創建令牌後,我將所有新硬幣發送到我的錢包。我可以將新令牌發送到其他錢包就好了,它會顯示出來。

但是,我很難編寫智能合約來接受新令牌。我已將代幣從我的錢包發送到合約地址,並已得到確認。但是在契約中我看不到它已經收到了令牌。

你必須閱讀這個

這個過程更複雜,但它仍然可以完成它的工作,所以我認為這是值得的

目前,ERC-20 代幣標準沒有指定當代幣發送給合約時如何通知合約。

有一個ERC-223 提案,其中包含一個新規範,該規範確定瞭如何在資金發送到契約時發出通知。

使用 ERC-20 的變通方法涉及兩個步驟:

  1. token.approve(contractAddress, amount, { from: userAddress })使用者批准合約以檢索給定數量的代幣
  2. contract.purchase(token, amount)使用者呼叫合約表示它已被批准(函式名稱因合約而異)

2.1token.transferFrom(msg.sender, this, amount)合約將指定數量的代幣從使用者轉移到合約中

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