【问题标题】:ERC20 - How to split the initial token supply on multiple accounts?ERC20 - 如何在多个账户上拆分初始代币供应?
【发布时间】:2021-07-21 06:22:44
【问题描述】:

有人可以向我解释为什么不能将带有 Transfer 事件的初始总供应量拆分到多个不是 _msgSender() 地址的地址吗?

这里的目标是使用 0x00 地址“铸造”多个钱包上的代币(开发钱包中 12%,营销钱包中 5%,另一个钱包中 3%),但直接在构造函数中不使用外部函数我必须在部署期间调用脚本。

但它不起作用,我没有收到任何错误......真的不明白

这是我的代码:

constructor () public payable{
    uint256 _tTotransfer = _tTotal;

    uint256 _tToDevs = (_tTotal.mul(12)).div(100);
    _tTotransfer = _tTotransfer.sub((_tTotal.mul(12)).div(100));

    uint256 _tToMarketing = (_tTotal.mul(5)).div(100);
    _tTotransfer = _tTotransfer.sub((_tTotal.mul(5)).div(100));

    uint256 _tToApes = (_tTotal.mul(3)).div(100);
    _tTotransfer = _tTotransfer.sub((_tTotal.mul(3)).div(100));

    _rOwned[_msgSender()] = _rTotal;

    emit Transfer(address(0), _msgSender(), _tTotransfer); 
    emit Transfer(address(0), _devsWallet, _tToDevs); 
    emit Transfer(address(0), _marketingWallet, _tToMarketing); 
    emit Transfer(address(0), _apesWallet, _tToApes);
    
}

我也不明白为什么不能直接“铸造”另一个钱包上的总供应量(不是拆分而是整个)而不是 _msgSender。

谢谢大家,希望有人能帮助我...

【问题讨论】:

    标签: blockchain solidity smartcontracts erc20 binance-smart-chain


    【解决方案1】:

    假设_rOwned持有每个地址的实际代币余额:

    您正确地发出了Transfer 事件,但还需要更新代币余额。


    此行将_msgSender() 余额设置为_tTotal,根据您的描述,这是您不想要的。

    _rOwned[_msgSender()] = _rTotal; // incorrect
    

    您希望他们拥有剩余的_tTotransfer


    其他初始所有者也是如此

    _rOwned[_msgSender()] = _tTotransfer; // replace the above line to this
    emit Transfer(address(0), _msgSender(), _tTotransfer);
    
    _rOwned[_devsWallet] = _tToDevs;
    emit Transfer(address(0), _devsWallet, _tToDevs);
    
    rOwned[_marketingWallet] = _tToMarketing;
    emit Transfer(address(0), _marketingWallet, _tToMarketing);
    
    rOwned[_apesWallet] = _tToApes;
    emit Transfer(address(0), _apesWallet, _tToApes);
    

    【讨论】:

    • 您帮助我了解了它的工作原理!非常感谢!!
    猜你喜欢
    • 1970-01-01
    • 2018-11-09
    • 2019-12-15
    • 1970-01-01
    • 2021-08-06
    • 2022-01-20
    • 2022-11-16
    • 2022-03-15
    • 2020-01-23
    相关资源
    最近更新 更多