【问题标题】:How to mint ERC20 token using web3.js library?如何使用 web3.js 库铸造 ERC20 令牌?
【发布时间】:2023-03-31 17:45:01
【问题描述】:

我一直致力于 ERC20 代币开发。我的代码是使用solidity 和zeppelin 框架编写的。

到目前为止,我已经使用 Rinkeby、Ropsten 等测试网络来部署和测试所有 ERC20 方法。昨晚,我必须在主网上部署智能合约,其中必须部署 10000000 个代币,但我只部署了 1000000 个(错过了一个零)。

由于它部署在主网中,mint 是充值初始金额而不是重新部署的唯一方法。通过删除 mint 方法中的 internal 关键字,可以使用 remix 来实现 Mint。但它需要重新部署智能合约才能使用薄荷方法,客户不会同意重做。

我认为唯一的方法是使用 web3js API 来实现相同的目的。但是web3js文档中没有给出如何务实地铸币(充值初始金额)的内容。

如果你们中有人遇到过类似的情况,请告诉我你们是如何解决的。

谢谢, 斯里拉姆

【问题讨论】:

    标签: solidity smartcontracts web3js remix openzeppelin


    【解决方案1】:

    使用 web3 的 mint 只是对合约函数的调用,就像从 remix 中一样,没什么特别的。您所要做的就是调用该函数。但是由于这个函数是内部的,你不能直接从 remix、web3 和任何其他库中调用它。简单地说,如果你不能从 remix 调用函数,你也不能从 web3 调用它。 Web3 仅在合约访问权限方面提供重新组合。

    【讨论】:

    • 我删除了 _mint() 函数中的关键字 internal。在 Remix Run 选项卡中,在 Deploy 按钮“At Address”下,它将允许我直接针对为用于部署的基地址创建合约的合约地址运行 ERC20 方法。通过这种方式,我可以使用基本代币地址的新金额来充值/铸造我的初始金额。所有这些都在 Ropsten 工作;但是当我连接到主网并在 MetaMask 中调用 mint 方法时,由于 gas 价格低,它不会通过。我在 Firefox 中使用 Remix 编辑器,并且在同一个浏览器中安装了 MetaMask 扩展。
    猜你喜欢
    • 2019-12-01
    • 2018-10-01
    • 2018-06-19
    • 2022-06-14
    • 2018-11-18
    • 2021-11-02
    • 2020-01-31
    • 2021-02-08
    • 2021-12-20
    相关资源
    最近更新 更多