交易在以太坊区块链浏览器上可见,但令牌未显示在 Metamask 钱包中

问题描述

我正在玩以太坊智能合约,并注意到一些交易的一些奇怪行为。 交易是可见的,它指出代币被发送到一个地址,但是当我在 Metamask 上检查余额时,它不在这里(代币合约被添加MetaMask)。这种契约行为的原因可能是什么?

这是示例交易:https://ropsten.etherscan.io/tx/0xf3316c497fd47ee79be57be7b91cb96cc0414003a155d8ff8bc83b3a090594c9 200,000 个令牌发送到 https://ropsten.etherscan.io/address/0x9DEF8C013eb590aFf09c8c76F9A74A3055fAA177#tokentxns显示在 ropsten 网络浏览器上,但我无法在 MetaMask 上看到它们或操作。

这是我的智能合约的一部分,它可以转移,我用注释“隐形”标记了行,这对我不起作用:

function transfer(address to,uint256 value) public returns (bool) {
  require(value <= _balances[msg.sender]);
  require(to != address(0));

  uint256 tokensToBurn = findOnePercent(value);
  uint256 tokensToStack = findOnePercent(value);
  uint256 tokenstoDeduct = tokensToBurn.add(tokensToStack);
  uint256 tokensToTransfer = value.sub(tokenstoDeduct);

  _balances[msg.sender] = _balances[msg.sender].sub(value);
  _balances[to] = _balances[to].add(tokensToTransfer);

  _totalSupply = _totalSupply.sub(tokenstoDeduct);

  emit Transfer(msg.sender,to,tokensToTransfer); // visible on MetaMask
  emit Transfer(msg.sender,address(0),tokensToBurn); // burned
  emit Transfer(msg.sender,address(VAULT_ADDRESS),tokensToStack); // invisible on MetaMask
  return true;
}

这是地址钱包的截图:0x9DEF8C013eb590aFf09c8c76F9A74A3055fAA177

enter image description here

请告知我在这里可能做错了什么。

[同时我向MetaMask提交了票,可能是钱包扩展的缺陷]

解决方法

您需要将合约地址添加到您的 Metamask 实例中。

  1. 在帐户详细信息中,点击“添加令牌”

    In the account detail,click on "Add token"

  2. 将合约地址粘贴到“自定义令牌”选项卡中的地址字段

    Paste the conctract address to the address field in the "Custom token" tab

  3. 查看数据,点击“下一步”,即可看到钱包中的代币余额。

    Review the data,click "Next",and you you can see the token balance in your wallet.

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...