稳定币是加密货币环境中最重要的组成部分之一。它们对于法定货币以及交换各种加密货币的稳定性和可访问性至关重要。这意味着,如果人们不愿意,就不必用比特币之类的代币在市场波动的10%波动中冒险投资。
Tether是稳定币的常见示例,它与美元挂钩,这意味着它是集中式稳定币。当然,稳定币引入的唯一不稳定因素是被锚定的货币的价值贬值(例如美元本身贬值)。
正如我之前所说,我们将专注于无抵押稳定币以及如何创建自己的稳定币。无抵押稳定币依赖于智能合约,该合约使用称为优先股的概念来维持1的稳定性。
为了实现这一目标,智能合约除了基本的代币功能外还承担两项主要职责。第一种是在需求减少并且代币的价值下降到1以下时销毁代币。第二种是在需求增加并且代币的价值增加到1以上时发行新代币。
通过遵守这些规则,智能合约可确保代币的价值始终为1。
出于学习目的,我们将在以太坊区块链上对其进行测试和部署,因此从技术上讲,这是一个ERC代币,初学者很容易理解,但主要部分是了解智能合约。创建我们自己的第一件事是设置开发环境,这意味着我们需要下载Node.js,truffle,ganache和一个好的IDE,我建议保持稳定性。或者为了了解智能合约的目的,您可以直接访问ethereum.remix.org来打开remix IDE。
接下来,我们将开始为代币实现基本功能
这意味着我们需要几个标准函数,包括BalanceOf,Transfer,Approve等。我在另一篇文章“ 创建ERC721代币”(您可以阅读)中对它们进行了定义。
现在,我们可以开始实现分配函数。为此,我们需要做一些事情,其中一个地址充当银行的中央帐户。
该地址保存所有已发行代币,并且是唯一有权销毁或发行代币的帐户-该地址是智能合约的地址。
接下来,我们需要定义两个函数,您可以在将来将其命名为更合适的名称,但在本文中,我将其命名为mint和burn。
mint函数发行新代币,看起来像这样:
burn函数销毁代币,看起来像这样:
在此之后,如果您使用truffle工具,您可以将它们迁移到本地区块链并测试智能合约,看它是否真的有效,这是最重要的部分。对于测试,您可以复制此脚本并执行“truffle test”,然后应该显示所有三个复选标记。
但是稳定币并不意味着可以在其他区块链上运行,因为为了稳定起见,必须控制总体区块链(除非有其他加密货币支持)。
该测试首先从购买大量代币开始,然后调用智能合约的价值以查看它是否发行了更多的代币以供应,此处的对勾标记表明已这样做。下一个复选标记表示该智能合约在出售时也能够销毁代币。最后一项检查是确保将代币转移到另一个地址也不会增加或减少该值。
在此之后,您将获得无抵押的稳定币!现在如果您将其放置在真实的区块链上,也可以随意买卖该代币。