Solidity

事件在 Etherscan 交易列表中不可見

  • December 12, 2018

當使用者將乙太幣發送到智能合約時,我有一個 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地址來處理這個問題。

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