在 Ropsten 上測試 SmatContract - 交易“成功”,但我的錢包中沒有代幣
我正在嘗試在區塊鏈中邁出第一步,有時我會遇到一些非常奇怪的問題(對我來說),這就是其中之一。
我部署了一個非常簡單的 SmallContract 繼承自
@openzeppelin/contracts@3.4.0/token/ERC20/ERC20.sol
,只是為了創建一個自定義 ERC20 令牌進行測試。該合約有一個名為“mint()”的函式,它應該返回我的錢包 10 個自定義代幣。
pragma solidity >=0.6.0 <0.8.0; import "@openzeppelin/contracts@3.4.0/token/ERC20/ERC20.sol"; contract Token is ERC20 { constructor () ERC20("Issimissimo", "DS") { _setupDecimals(2); _mint(msg.sender, 10 * (10 ** uint256(decimals()))); } function mint() public returns (bool) { _mint( msg.sender, 1000 ); return true; } }
我已經在 Ropsten 上部署了這個合約,並且我在 Unity 中進行了測試(沒有 Metamask,只使用我的私鑰)並且它工作正常,我在我的錢包中收到了令牌。
現在我正在嘗試在 JS 中做同樣的事情,使用“ethers”庫連接到 Metamask。好吧,我成功連接到我在 Robsten 上的 Metamask 帳戶,我成功呼叫了“mint”函式,我收到了交易完成的消息(我還可以在 etherscan 上看到一切都很好 — 狀態:成功),但我的 Metamask 錢包中沒有收到任何自定義令牌…
怎麼可能?我想如果我在我的 JS 程式碼中犯了一些錯誤,我將不會收到交易確認消息,而在 Etherscan 上我應該會看到一些錯誤……不是嗎?也許 Ropsten 網路會失敗?
PS如果可以幫助這是etherscan上的交易連結 https://ropsten.etherscan.io/tx/0xf7a2f2e112f7808431ab0e1ecf5e1dbd868a6ad21d205464660aed9920fddcea
對不起,但我對一切都很陌生……
非常感謝您的幫助!!
轉到您的 metamask 錢包,將您的網路更改為“Ropsten Network”,然後點擊連結
Import tokens
並在Token Contract Address
文本框中輸入您的 ERC20 智能合約的地址,在這種情況下為這個值:0x345fe1f0BbB9673b0844F6405FFC0e867d9591a1
。完成此操作後,您可以點擊呼叫的按鈕
Add Custom Token
,您將看到您的代幣進入您的錢包。