You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义ERC20合约部署后msg.sender余额为0问题求助

ERC20合约部署后余额为0的原因分析

针对你提供的合约代码,部署后msg.sender余额显示为0,主要有以下几种可能:

  • 代币小数位认知偏差
    OpenZeppelin的ERC20实现默认采用18个小数位,_mint函数的第二个参数是代币的最小单位(相当于以太坊的wei)。你合约里_mint(msg.sender, 1002000)实际只铸造了1002000 / 10^18个代币,这个数值极小,Remix的余额查询面板默认显示的是代币单位(而非最小单位),因此会显示为0。
    解决方法:如果要铸造1002000个完整代币,需要把数值改为1002000 * 10 ** decimals(),或者直接写1002000 * 10 ** 18。

  • 查询地址错误
    部署合约时的msg.sender是Remix界面中当前选中的钱包地址(比如JavaScript VM里的第一个账户),如果查询时选错了地址(比如选了合约地址或其他账户),自然会显示余额为0。请确认查询的地址和部署合约时使用的地址一致。

  • 部署交易未生效
    若使用Remix的JavaScript VM环境,可能因为页面刷新、环境重置导致之前的部署状态丢失;或者在测试网/主网部署时,交易未被确认。可以重新部署合约,确认交易成功后再查询余额。

内容的提问来源于stack exchange,提问作者daisy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 19:24:18