Solidity
事件在 Etherscan 交易列表中不可見
當使用者將乙太幣發送到智能合約時,我有一個 BuyToken 事件,他們將收到基於乙太幣數量的代幣。例如:1 ETH = 1000 代幣。
/// This notifies clients about the Buy Token event BuyToken(address user, uint256 eth, uint256 token);
有我的購買()功能
/** * function for Buy Token */ function buy() payable public returns (uint amount){ require(msg.value > 0); amount = ((msg.value.mul(TokenPerETHBuy)).mul( 10 ** uint256(decimals))).div(1 ether); balanceOf[this] -= amount; // adds the amount to owner's balanceOf[msg.sender] += amount; emit BuyToken(msg.sender,msg.value,amount); return amount; }
當使用者發送乙太使用者將收到令牌時,它執行良好。
但是這個交易事件在 Etherscan.io 上是不可見的
例如: Ropsten 連結
我發送 0.2 個乙太幣,我收到 200 個代幣。我可以看到乙太交易。但收到的代幣交易在“ ERrc20代幣交易”選項卡上不可見。
佩拉斯你能幫忙嗎??
您必須為 Etherscan 發出 Transfer 事件才能將其視為令牌傳輸。大多數人通過記錄 0x0 作為
from
地址來處理這個問題。