Blockchain 交易在以太坊区块链资源管理器上可见,但令牌不显示在Metamask钱包中

Blockchain 交易在以太坊区块链资源管理器上可见,但令牌不显示在Metamask钱包中,blockchain,ethereum,solidity,metamask,Blockchain,Ethereum,Solidity,Metamask,我正在玩以太坊智能合约,并注意到一些交易的奇怪行为。 事务是可见的,它声明令牌被发送到一个地址,但当我检查元掩码上的余额时,它不在这里(令牌契约被添加到元掩码)。这种契约行为的原因是什么 这是一个示例事务: 200000个令牌被发送到,并显示在ropsten网络浏览器上,但我无法看到它们或在MetaMask上操作 这是我的智能合同的一部分,它确实会转移,我用注释“隐形”标记了一行,这对我不起作用: function transfer(address to, uint256 value) publ

我正在玩以太坊智能合约,并注意到一些交易的奇怪行为。 事务是可见的,它声明令牌被发送到一个地址,但当我检查元掩码上的余额时,它不在这里(令牌契约被添加到元掩码)。这种契约行为的原因是什么

这是一个示例事务: 200000个令牌被发送到,并显示在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;
}
函数传输(地址到,uint256值)公共返回(bool){

require(value您需要将合同地址添加到元掩码实例中

  • 在帐户详细信息中,单击“添加令牌”

  • 将conctract地址粘贴到“自定义令牌”选项卡中的地址字段

  • 查看数据,单击“下一步”,您可以在钱包中看到代币余额


  • 嗨,Petr,代币已添加到钱包中,其他地址的代币都可见。问题是,该保险库地址的代币不可见。[更新描述]当您说“保险库地址中不可见”时你确定你已经在金库帐户上添加了令牌吗?@Mikkoohtama是的,我确定,我正在用钱包的屏幕截图更新描述。值得一提的是,我在两个独立的网络上测试了该合同,Ropsten testnet和local Ganache network:这两个网络在MetaMask中的行为相同且不可见,但事务的存在就像M中的bug一样etaMask,您需要将其提交给他们的客户支持