什么是以太坊网络上的ERC-20?

 2023-09-09 21:30:33发布

ERC-20是在以太坊区块链上创建符合智能合约的加密货币的标准。通过利用以太坊区块链和ERC-20的力量,加密货币开发者、项目和社区能够以成本效益和时间友好的方式创建可行的代币。

什么是ERC-20标准

在以太坊中,ERC的全称是Ethereum Request for Comments,即以太坊注释请求。ERC 后面的数字只是提出这些标准的“意见征求”序号,这些技术文档概述了以太坊的编程标准。ERC的目标是在应用程序与合约之间建立便于交互的协议。

ERC-20由Vitalik Buterin和Fabian Vogelsteller于2015年开发撰写,为基于以太坊的代币提出了另一种相对简单的格式。只要遵循大纲,开发人员不需要重新开发,可以直接在整个行业的现行基础上构建。

创建新的ERC-20代币后,它们会自动与支持ERC-20标准的服务和软件(软件钱包、硬件钱包和交易平台等)进行互操作。

需要注意的是,ERC-20标准已经发展成EIP(特别是EIP-20)。此时距离原来广为传播的提案已经过去了数年之久,但即便此后又过了几年,“ERC-20”的名字却保留了下来。

ERC-20代币是什么

当智能合约首次崛起时,有许多障碍需要克服。特别是任何人都可以创建它们。在这一点上,没有全面的标准编码,这意味着没有办法保证不同的代币可以被使用、交换或创建。

在标准化之前,每个应用程序都必须创建自己的Token(令牌),而在不同平台上工作的用户将不得不面对一个困难和漫长的过程来回转移它们。

ERC-20的引入使人们和项目有能力实现互联互通。随着许多成熟的数字货币采用ERC-20标准。

ERC-20代币的产生

依照ERC-20标准,合约必须设置六种强制性函数:totalSupply、balanceOf、transfer、transferFrom、approve以及allowance。此外,还可以指定可选函数,例如name、symbol和decimal。根据名称即可了解函数功能。

以下是通过以太坊专用的Solidity语言呈现的函数。

totalSupply

function totalSupply() public view returns (uint256)

用户调用上述函数后,将返回合约所持代币的总供应量。

balanceOf

function balanceOf(address _owner) public view returns (uint256 balance)

与totalSupply不同,balanceOf使用地址作为参数。调用后,系统返回该地址的代币持有量余额。请记住,以太坊网络中的账户是公开透明的。只要知道地址,即可查询任何用户的余额。

transfer

function transfer(address _to, uint256 _value) public returns (bool success)

transfer函数支持用户互相转移代币。你需要提供代币接收地址和转账金额。

调用后,transfer会触发事件(这种情况下为“转移”事件),基本功能是告知区块链包含针对此函数的引用。

transferFrom

function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)

transferFrom函数是transfer函数的便捷替代方案,有效提升去中心化应用程序中的可编程性。与transfer函数类似,它用于移动代币,但这些代币不一定属于调用合约的用户。

换言之,你可以授权他人或另外一份合约来代替你转移资金。例如,如果不愿按日/按周/按月为订阅服务手动付费,可以让程序代替你完成任务。

此函数触发的事件与transfer相同。

approve

function approve(address _spender, uint256 _value) public returns (bool success)

从编程角度来看,approve是另一项非常有用的函数,可以限制智能合约从余额中提取的代币数量。没有它,运行的合约有可能失效(或遭到利用),所有资金面临失窃的风险。

调用该函数后,approve会触发approval事件,与transfer函数一样,它会将数据写入区块链。

allowance

function allowance(address _owner, address _spender) public view returns (uint256 remaining)

allowance可以与approve结合使用。如果为合约授予代币管理权限,你可以通过其检查代币的可提现余额。

其他可选函数

上文讨论的内容均为强制性函数。另一方面,name、symbol和decimal属于可选函数,但它们可以让ERC-20更加完善。这些函数分别支持添加可读名称、设置符号(即ETH、BTC、BNB)以及指定代币可划分的小数位数。例如,用作货币的代币比用来表示财产所有权的代币更容易分割,因而更加受益。

ERC-20的功能

汇总以上所有函数,便获得了一份ERC-20合约,可以查询总供应量、查看余额、转移资金并授权其他DApp代替我们管理代币。

ERC-20代币的灵活性是一项巨大的优势。既定协议并不能限制开发,各方均可根据自身需求推出其他功能并设置特定参数。

稳定币

稳定币通常使用ERC-20代币标准。前文提及的BUSD合约交易就是典型示例,大多数的稳定币也使用了这种形式。

对于主流数字货币支持的稳定币,发行方可以持有欧元、美元等储备金,然后针对储备金中的每个单位发行代币。如果将1万美元存入金库,发行方可以创建1万枚代币,每枚代币可兑换1美元。

从技术层面看,在以太坊中很容易实现。发行方只需推出带有1万枚代币的合约,然后将代币分发给用户,许诺他们在未来可以将代币兑换为一定比例的数字货币。

用户使用其代币可以执行多种操作,包括购买商品和服务以及应用于DApp。此外,也可以要求发行方立即兑换这些代币。这种情况下,发行方也可以销毁退回的代币(让其失效)并从储备金中提取等额的法币。

治理该系统的合约相对简单。然而,推出稳定币需要注意其他众多外部因素(例如物流、合规性等),投入大量精力。

证券型代币

证券型代币类似于稳定币,甚至在合约层级可以完全一致,因为二者以相同的方式运作。区别在于发行方不同:证券型代币代表有价证券,例如股票、债券或实物资产。它们通常(虽然并非一直如此)会授予持有者某家企业或商品的股份。

效用代币

效用代币可能是如今最常见的代币类型。与前两种代币不同,效用代币没有任何实际资产提供支持。如果以航空公司的股份代表由资产支持的代币,效用代币就好比飞行常客计划:它们具备某些功能,但没有外部价值。效用代币可以满足众多需求,例如用作游戏内货币、去中心化应用程序的燃料以及忠诚度积分等。

是否可以参与ERC-20代币挖矿

你可以参与以太币(ETH)挖矿,但代币无法开采 – 我们将新代币的创建称为铸造。合约上线后,开发人员将根据计划和路线图分配供应量,

一般通过首次代币发行(ICO)、首次交易所发行(IEO)或证券型代币发行(STO)来完成。你可能会碰到这些首字母缩写词的多种变体,但它们的概念非常相似。投资者将以太币发送至合约地址并获得新代币作为回报。募集的资金用于为项目的未来开发提供资金支持。用户期待能够(立即或稍后)使用其代币或随着项目的发展而转售获利。

代币发放不一定自动执行。许多众筹活动支持用户使用各种数字货币(如BNB、BTC、ETH和USDT)完成支付,然后将相应余额分配到用户提供的地址。

ERC-20代币的优点

开发人员、项目创建者、企业、社区和个人都从使用以太坊的ERC-20代币中看到了巨大的好处。

互联的项目

代币的标准化方法使它们能够轻松地转移和交换。这使不同的项目和社区能够相互合作,同时为用户提供了将他们的代币轻松换成另一个代币的能力。

轻松创建硬币

由于标准化,开发自己的代币再快不过了。通过几个简单的步骤,开发者可以在不费吹灰之力的情况下建立并运行一个新的代币,而且用时很少。

-命名你的代币

-决定你的符号

-指定小数

-确认将如何划分

-安全与保障

所有ERC-20代币都有内置的数字钱包功能,任何持有该代币的人都可以通过将其存储在自己的钱包中来保护它。这使代币持有者能够保留对他们拥有的数字资产的完全控制权,而不是把它们留在交易所。

发展的成本效益

在开发ERC-20代币标准上花费了大量的时间、精力和金钱–如果试图复制它,成本将高得惊人。所有的艰苦工作已经为你完成,开发者可以很容易地创建一个代币,提供一个伟大的用户体验,而没有所有的相关费用。

ERC-20代币的缺点

扩展性不佳

这是许多加密货币网络的通病,以太坊也无法幸免。在高峰期发送交易会产生高额费用和长时间的延迟。如果使用ERC-20代币而造成网络拥塞,其可用性也会受到影响。

诈欺

虽然技术本身没有问题,但在某些方面,轻松发行代币可能是一项不利因素。简单的ERC-20代币很容易创建,任何人都可以做到,但意图却有好有坏。

许多金字塔骗局和庞氏骗局伪装成区块链项目,因此,你必须谨慎投资。

推荐阅读