问题描述
我正在玩以太坊智能合约,并注意到一些交易的一些奇怪行为。 交易是可见的,它指出代币被发送到一个地址,但是当我在 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
请告知我在这里可能做错了什么。
[同时我向MetaMask提交了票,可能是钱包扩展的缺陷]