Contract-Development
接受自定義代幣的智能合約
我已經在 Rinkeby 測試網上成功地創建了我自己的自定義令牌。創建令牌後,我將所有新硬幣發送到我的錢包。我可以將新令牌發送到其他錢包就好了,它會顯示出來。
但是,我很難編寫智能合約來接受新令牌。我已將代幣從我的錢包發送到合約地址,並已得到確認。但是在契約中我看不到它已經收到了令牌。
你必須閱讀這個
這個過程更複雜,但它仍然可以完成它的工作,所以我認為這是值得的
目前,ERC-20 代幣標準沒有指定當代幣發送給合約時如何通知合約。
有一個ERC-223 提案,其中包含一個新規範,該規範確定瞭如何在資金發送到契約時發出通知。
使用 ERC-20 的變通方法涉及兩個步驟:
token.approve(contractAddress, amount, { from: userAddress })
使用者批准合約以檢索給定數量的代幣contract.purchase(token, amount)
使用者呼叫合約表示它已被批准(函式名稱因合約而異)2.1
token.transferFrom(msg.sender, this, amount)
合約將指定數量的代幣從使用者轉移到合約中