易代币博客

可增发ERC20代币定义解释


Mintable ERC20 Token

这个简短的教程将解释什么是可增发ERC20令牌,增发和挖矿之间的区别是什么,什么是有增发权利的账户以及如何添加,删除和转移它。你会发现什么是一些成功的可增发ERC20代币项目,以及如何在众筹中使用可增发代币。

可以使用我们的ERC20代币生成器工具创建可增发代币。如果你想了解以太坊代币,我们建议你创建一个,然后尝试一下。当你使用Ropsten测试网络时它是完全免费的。查看创建代币页面以了解如何创建代币。

在本教程中,我们将讨论OpenZeppelin的可增发代币的实现,这是经过严格测试的构建框架,我们的代币生成器使用的就是这一构架。

什么是可增发代币?

可增发代币是与ERC20兼容的代币,具有一个附加功能:可以随时创建新代币并添加到供应总量中。标准ERC20代币没有此功能,这使标准ERC20代币成为固定供应总量的代币。

Mint函数在Solidity中定义如下:
function mint(address to, uint256 value) public onlyMinter returns (bool)
新代币只能通过有增发权限的账户地址进行增发。如果没有地址在有增发权限,则没有人可以创建新代币。

具有增发权限的账户地址

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

增加新的具有增发权限的账户地址

当具有增发权限的账户地址想要添加另一个具有增发权限的账户地址时,他可以调用以下函数:
function addMinter(address account) public onlyMinter
我们可以看到,通过使用函数修饰符onlyMinter,只有当前的具有增发权限的账户地址可以添加一个新的具有增发权限的账户地址。调用addMinter函数会发出以下事件:
event MinterAdded(address indexed account)

放弃增发权限

当前的具有增发权限的账户地址可以通过调用以下函数来放弃他的权限:
function renounceMinter() public
只有具有增发权限的账户地址可以从放弃增发权限,其他人不能。调用renounceMinter函数会发出以下事件:
event MinterRemoved(address indexed account)

转移增发权限

当前的具有增发权限的账户地址可以通过调用以下函数来转移他的权限:
function transferMinterRole(address newMinter) public
函数transferMinterRole在一个交易中添加新的具有增发权限的账户地址并去掉原有地址的增发特权。它会发出MinterAdded和MinterRemoved事件。

增发与挖矿

增发与采矿不同。当人们谈论加密货币时,这是一个常见的误解。

通过发送在代币智能合约内创建新代币的交易来完成创建新代币。正如我们在什么是可增发代币中看到的那样,对智能合约功能的调用可以创建无限数量的代币,而无需消耗能量。

另一方面,挖矿确实创造了新的代币,但通常根据区块链的共识规则进行限制,并且需要消耗能源。挖矿还可以用于其他目的,例如保护区块链网络和将新交易打包成区块。

可增发代币示例

有很多可增发RC20代币。以下是一些特别有趣的代币展示。

Dai (DAI)

DAI是去中心化的稳定币,与MakerDAO系统中使用的1美元挂钩。用户可以将其加密资产(ETH)锁定在MakerDAO智能合约中,并获得DAI代币。每当ETH被锁定在CDP(抵押债务池)时,新的DAI代币由MakerDAO智能合约完成增发。

Status (SNT)

Status是一个开源平台,它使用其本机SNT代币作为Status客户端治理机制,作为应用程序代币在其消息传递应用程序中驱动推送通知,以及在其网络上管理用户生成的内容。SNT代币的总供应有上限,但循环供应量较低。新的代币可以通过管理员地址增发。

Decentraland (MANA)

Decentraland是一个由用户拥有的虚拟世界平台。用户使用MANA代币创建商品和服务并进行交易。MANA代币是可增发的和可销毁的ERC20代币。

可增发代币在众筹中的应用

可增发代币广泛用于与众筹组合。众筹合约用于创建众筹,其中ERC20代币为ETH出售。以下用于组合可增发代币与众筹的机制:

  1. 众筹创建者部署了可增发代币合约,获得了增发特权
  2. 众筹创建者部署了众筹合约
  3. 众筹创建者将增发特权转移给众筹合约。这时只有众筹合约可以增发新的代币。
现在,众筹开始了。投资者出现并希望投资新的代币。他以当前价格将ETH发送给众筹合约,合同增发全新的ERC20代币并将其发送给投资者。当众筹结束时,没有人能够制造出更多的ERC20代币。投资者可以肯定,没有人可以稀释他们的代币持股比例。

分享本文

接下来

如果你已完成本教程的学习,我们建议你按照以下教程进行操作:

如何使用Etherscan区块链浏览器增发新代币
ERC20代币和如何创建你的代币
支持Web 3.0的以太坊钱包和浏览器插件钱包
如何将你的代币添加到MetaMask插件钱包

与我们联系

感谢你阅读此内容!你可以:
- 在微博上关注我们
- 订阅我们的优酷频道

联系我们

我们是易代币专业区块链团队。

中国,北京