主页 > imtoken官方最新版 > ETH以太坊ERC20代币创建一键发行代币发行1

ETH以太坊ERC20代币创建一键发行代币发行1

imtoken官方最新版 2023-05-26 06:23:32

ERC20 代币简介以及如何创建您的代币 ERC20 代币

ERC20 是在以太坊网络上创建令牌的提议和广泛采用的标准。 它是在部署在以太坊网络上的智能合约中实施的一组规则。 一旦部署,任何拥有以太坊钱包的人都可以与令牌的智能合约进行交互以发送和接收令牌。 每个 ERC20 代币都有自己的智能合约,可以跟踪该特定代币的所有交易。

发送和接收 ERC20 代币

所有 ERC20 代币都部署在以太坊网络上以太坊代币创建,因此您需要一个以太坊钱包来发送和接收 ERC20 代币。 几乎所有以太坊钱包都支持 ERC20 代币,我们的以太坊钱包博文中介绍了如何为您的设备选择合适的代币。 要接收 ERC20 代币,您需要一个以太坊地址,您可以在其中存储以太坊和任意数量的 ERC20 代币。 以太坊地址在您的钱包应用程序中进行管理,您可以创建无限数量的地址。 要接收代币,您只需向付款人提供您的地址。 发送它们就像发送 ETH 一样简单 - 只需粘贴接收地址和您要发送的代币数量,然后点击发送按钮。

ERC20标准规范

该标准指定了一个具有 6 个函数和 2 个事件的接口,但规范中省略了函数的实现。

功能规格

Solidity(以太坊编程语言)代码中的函数接口如下:

totalSupply() public view returns (uint256 totalSupply) - 获取代币的总供应量

balanceOf(address _owner) public view returns (uint256 balance) - 获取账户所有者的余额

以太坊代币开发_sitehqz.com 以太坊代币交易_以太坊代币创建

transfer(address _to, uint256 _value) public returns (bool success) - 发送指定数量的代币到指定地址

transferFrom(address _from, address _to, uint256 _value) public returns (bool success) - 从指定地址发送指定数量的代币到指定接收地址

approve(address _spender, uint256 _value) public returns (bool success) - 授权指定地址转账您指定数量的代币

allowance(address _owner, address _spender) public view returns (uint256 remaining) - 返回剩余授权金额

事件规范

定义的事件(在 Solidity 代码中):

Transfer(address indexed _from, address indexed _to, uint256 _value) - 代币转移时触发

Approval(address indexed _owner, address indexed _spender, uint256 _value) - 在调用批准函数时触发。

sitehqz.com 以太坊代币交易_以太坊代币创建_以太坊代币开发

ERC20扩展标准

ERC20 标准可以扩展以添加新功能。 可铸造的 ERC20 代币只是如何为新用例定义合约的示例之一。 还有比如目前流行的功能,可以增发,可以销毁以太坊代币创建,可以锁定等。

ERC20示例

ERC20 代币非常受欢迎,以至于已经为以太坊网络部署了数千种不同的代币。 所有 ERC20 代币的总价值在数十亿以上。 当今使用的一些最流行的硬币是:

Binance Coin (BNB) - 为 Binance Exchange 提供交易费用折扣 BNB 智能合约 Maker (MKR) - 用于治理去中心化 DAI 稳定币发行系统 OmiseGO (OMG) - 用于运行 Plasma 去中心化交易所和其他 Omise 服务 0x (ZRX) - 用于提供Ox 协议基本注意力令牌 (BAT) 的交易费用 - 用于广告和基于注意力的服务

从上面的列表可以看出,ERC20代币的应用和用途非常广泛。 什么是可扩展令牌?

可铸造代币是 ERC20 兼容代币,具有一项附加功能:可以随时创建新代币并将其添加到总供应量中。 标准 ERC20 代币没有这个特性,这使得标准 ERC20 代币成为固定供应代币。

Mint函数在Solidity中的定义如下:

以太坊代币创建_sitehqz.com 以太坊代币交易_以太坊代币开发

1个

function mint(address to, uint256 value) public onlyMinter 返回 (bool)

新代币只能通过有权发行额外代币的账户地址发行。 如果没有地址有权发行额外的代币,则没有人可以创建新的代币。

附加发行权限的账户地址

具有发行权限的帐户地址是具有创建新代币的特殊权限的地址,因为新代币将添加到总供应量中。 附加发行权的账户地址可能有多个,但在现实中,通常只有一个地址。 第一个具有发行权限的账户地址是部署代币合约的地址。 当前附加发行权限的账户地址可以添加新的附加发行权限账户地址。 合约代码给他带来的特权是发行额外的代币,或者将他的权利转移到其他地址。

添加一个新的具有发行权限的账户地址

当一个有增发权限的账户地址想添加另一个有增发权限的账户地址时,可以调用如下函数:

1个

以太坊代币创建_以太坊代币开发_sitehqz.com 以太坊代币交易

function addMinter(地址账户) public onlyMinter

我们可以看到,通过使用函数修饰符onlyMinter,只有当前有发行权限的账户地址才能添加新的有发行权限的账户地址。 调用 addMinter 函数会发出以下事件:

1个

事件 MinterAdded(地址索引帐户)

放弃增发股份的许可

当前有增发权限的账户地址可以通过调用以下函数放弃权限:

1个

函数 renounceMinter() public

以太坊代币开发_sitehqz.com 以太坊代币交易_以太坊代币创建

只有拥有附加发行权限的账户地址才能放弃附加发行权限,其他人不能。 调用 renounceMinter 函数会发出以下事件:

1个

事件 MinterRemoved(地址索引帐户)

转让附加权利

有额外发行权限的活期账户地址可以通过调用以下函数进行权限转移:

1个

函数 transferMinterRole(address newMinter) public

函数transferMinterRole在一笔交易中添加一个具有发行权限的新账户地址,并移除原地址的发行权限。 它发出 MinterAdded 和 MinterRemoved 事件。

创建自己的 ERC20 代币,总量固定,增发

生成您自己的以太坊令牌涉及实施符合 ERC20 标准的智能合约并将其部署在以太坊网络上。 有无数关于代币生成的教程,但它们需要编程技能和对以太坊区块链工作原理的深刻理解。

如果您想生成自己的 ERC20 代币,我们创建了一个工具 [ztpay],使您无需编码技能即可在几分钟内部署自己的代币。 使用我们的工具,您可以定义代币的名称和符号,以及初始供应量。