Ether

在 Ropsten 上測試 SmatContract - 交易“成功”,但我的錢包中沒有代幣

  • June 29, 2022

我正在嘗試在區塊鏈中邁出第一步,有時我會遇到一些非常奇怪的問題(對我來說),這就是其中之一。

我部署了一個非常簡單的 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,您將看到您的代幣進入您的錢包。

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