当我在Etherscan上进行检查时,我已将我的ERC20代币合约部署到Rospten网络上,但看不到我的帐户出现在“持有人”列表中。为什么会这样?
0x88BAcDE95d741729aaF399e75ac14dB971f72f30
请告知
答案 0 :(得分:0)
部署ERC20合同并不能使您的地址成为令牌的持有人。
尽管您是合同的所有者,但是您可以mint
令牌到您的帐户。
答案 1 :(得分:0)
Etherscan通过监视Transfer
事件来确定令牌余额。在您的构造函数中:
constructor()
public
{
totalSupply_ = INITIAL_SUPPLY;
balances[msg.sender] = totalSupply_;
}
您正在将totalSupply_
分配到msg.sender
的余额中,但是没有发出事件,Etherscan并不知道这一点。
处理令牌铸造事件的典型方法是将转移显示为源自0x00
。将以下行添加到构造函数中,余额应在Etherescan和其他区块浏览器上正确显示。
emit Transfer(address(0), msg.sender, totalSupply_);