以太坊网络 ERC-20 标准完整指南 (2023)
无论您是学习区块链、探索 web3 还是投资加密货币。ERC20 代币及其标准通常是 web3 爱好者、开发人员和投资者之间争论和讨论的话题。它的核心只是一套创建以太坊专用多用途资产的指南。
这些资产有助于制作去中心化应用程序,即dApps同时在不同平台上进行交互。我们可以在不同类型的交易所买卖它们,我们可以将它们存储在钱包中,而无需为每个代币或资产编写任何自定义代码。
如果您不熟悉上面的几个词,请不要担心。因为在本文中我将简要介绍以太坊、ERC20 标准以及介于两者之间的所有内容。
以太坊区块链
以太坊的核心是一个开放的点对点节点或计算机网络。网络节点上安装了以太坊虚拟机 (EVM),以运行这些称为合约的小型计算机程序。尽管存在显着差异,但以太坊网络和比特币背后的基本理念是相同的。与比特币类似,网络中没有中央权威。
参与的个人促进交易的转移和记录。然后他们挖掘块以将所有关键数据存储在块链中。这些块通过加密哈希得到保护。解锁这些块需要大量的计算能力。
这种约束和诚实节点控制着大部分计算能力。它反过来确保了潜在黑客的安全。这就是像以太坊这样的区块链是不可变的原因。一旦我们在区块链上写了一些东西并对其进行哈希处理,我们就无法更改它。
区块链的基本结构
与比特币不同,以太坊提供资源来制作去中心化应用程序 (dApp)。这些 dApps 使用编程语言 Solidity。这些 dApp 可能会将其代币提供给对项目感兴趣的人作为所有权证明。
以太坊继承了比特币区块链的所有特性。它通过合并智能合约得到了发展和改进。频繁采用各种网络标准,如 ERC20、ERC721、ERC1155,使网络更加健壮。
代币
代币可以定义为一种对我们来说很珍贵的数字物品。它们代表了一些价值。特定令牌抑制的价值取决于它为其编码或创建的项目服务的目的。
代币和加密货币并不总是相似的。它们的用例定义了它们是否相同。但它们是我们可以持有或用来获得所有权等等的资产。有多种类型的代币用于不同的用途,每一种都量化了一些有价值的东西。
代币类型
实用代币
实用代币可以被视为优惠券,人们可以将其用作交换媒介,以利用服务的好处或购买产品。这些代币不是投资工具,随时可能贬值。你可以得到与效用代币价值相同的服务或产品,但你自己并不拥有它。
例如,考虑去一个有许多游乐设施和游戏的冒险公园。您为要玩的游戏或任何游乐设施购买代币。你用你的实物钱买一张票。在这种情况下,您购买的门票是一种实用代币,您可以用它来换取在冒险乐园中享受的时光。
证券代币
安全令牌是安全的加密货币。它们的价值取决于我们可以在金融当局的监管下进行交易的外部资产。股票、债券、衍生品等是受印度证券交易委员会 (SEBI) 监管的此类资产的几个例子。
他们通常保持透明度以确保股权、股息收入和投票权。它们有助于资产的即时结算和分割。
支付代币
它们代表所有加密货币和大多数代币。这些代币帮助我们在没有像银行这样的任何中央机构的情况下以数字方式买卖东西。比特币 (BTC) 和以太 (ETH) 是流行的支付代币的例子。
兑换代币
顾名思义,这些代币可在加密货币交易市场上出售、购买和交换代币。它们作为所有交易的交换或天然气支付的通用标准,即支付我们使用的计算能力。
Binance Coin、FTX Coin、Uni Token 和 CRO ( Crypto.com ) 是交易所代币的几个例子。
不可替代代币 (NFT)
NFT 允许多个利益相关方共享具有独特价值的资产。它类似于收集古董、手表、绘画或任何其他艺术品。但唯一不同的是人多。最好的 NFT 是那些由于其独特性而具有很高价值并且属于单个个人或一小群人的 NFT。
艺术家可以为他们的艺术作品创建 NFT,并通过 NFT 市场 OpenSea、DeCentraland、Foundation 等以数字方式出售它们。
稳定币
这些硬币的价值不会波动并且保持稳定。这是因为美元、欧元等法定货币和黄金、白银、石油等商品支持这些硬币。支持稳定币的支持实体监控和控制汇率或兑换率以保持价格稳定。
需要标准吗?
ERC20代币
在我们了解 ERC20 标准是什么之前,我们需要知道我们为什么需要它。让我们看看什么是 ERC20 资产及其用例。
ERC 代币只不过是一种展示重要事物价值的方式。代币还可以作为激励和本地转移财富的手段。ERC 代币存在于以太坊平台上。代币在以太坊的基础设施上相互依存**。**以太坊网络上的本地货币是以太币 (ETH)。网络上的不同代币作为一种货币,如忠诚度积分、公司股份和金证。
ERC20 自 2015 年推出首次代币发行 (ICO) 以来已被广泛使用,ICO 将初始供应的代币分发给一些感兴趣的利益相关者,以及建设者以获得建设项目的资金。这被称为标记化,是资金和投资领域的一个不断变化的面貌。建设者可以使用他们的代币参与决策,资产所有者也可以出售他们的代币来表达他们对项目的不满,如果项目没有达到他们的门槛进度。
智能合约
智能合约是使用 Solidity 编程语言的小型计算机程序,用于创建代币。这些程序创建代币并管理与其相关的交易。他们还管理代币持有者的余额。要获得一些代币,您需要将以太币 (ETH) 发送到智能合约,然后智能合约会给您一定数量的代币作为回报。
智能合约一旦创建,就无法更改。这意味着我们无法更改智能合约的代码。如果我们的代码中存在允许人们窃取代币或未正确记录帐户余额的错误。那么这个问题是无法更改的,我们无法修复它。这就是为什么我们在部署智能合约之前必须保持谨慎,以避免出现任何失误或错误。
然后是互操作性问题。每个代币合约都可以与其他合约不同,如果您希望您的代币在每个交易所都可用,他们需要编写自定义代码来与您的合约交互并允许人们进行交易。这同样适用于钱包提供商。为交换的每个新令牌编写自定义代码可能会耗费时间和资源。这些都是采用该标准的原因。
ERC20标准
以太坊在 Github 上有一个公共论坛,允许其参与者提交提案和请求更改其区块链以改进它。这些提案是以太坊改进提案或 EIP。这些提案由社区进行彻底讨论,如果获得通过,它们将被称为以太坊征求意见或 ERC。
ERC20 是自论坛开始以来的第 20 个 EIP。它的起源提供了一种解决方案,用于创建可在任何资产或代币交易所和钱包上使用的可互操作代币,而无需为以太坊上的每个新代币编写自定义代码。
根据 ERC20 标准,有 6 个强制函数和 3 个可选函数。将 ERC20 标准视为 Java 接口。如果你想让你的代币成为 ERC20 代币,那么你的智能合约必须实现这 6 个强制方法。
可选功能
- **令牌名称:**此方法允许我们为令牌命名。例如——比特币、以太坊等。
- **Symbol:**这个方法允许我们给我们的令牌一个符号来直观地表示它。例如 – BTC、ETH 等。
- **Decimal:**此方法允许我们设置可以将令牌划分到哪个小数位。它定义了可以交换的最小数量。
标准功能
- **totalSupply:**此方法允许我们设置要创建的代币总量。
- **transfer:**此方法允许我们从总供应量中向用户发送特定数量的代币。
- **balanceOf:**此方法返回用户在其帐户中拥有的代币数量。
- transferFrom:这个方法和****Transfer Method非常相似。它允许将令牌从一个用户的帐户转移到另一个用户的帐户。
- **approve:**此方法通过将交易与总供应量进行比较来检查交易,以确保没有比合同中规定的额外或更少的代币。
- **allowance:**此方法检查向其他人发送令牌的用户是否在他的帐户中有足够的令牌可以发送。如果用户资金不足,则交易不会发生。
ERC20标准的局限性
尽管人们继续大规模使用 ERC20,但它并不完美。它仍然缺乏交易管理系统。
- 如果使用转账功能发生交易,则收款人不会收到他已收到金额的通知。
- 另一个问题是,即使智能合约不遵循 ERC-20,它也可以接受代币。如果用户错误地向其发送了一个代币,那么资金将被永远冻结并且无法取回。
- Web3 开发人员 Dexaran 在这里批判性地强调了 ERC20 的问题:dexaran820.medium.com/erc20-token-standard-..
结论
不同种类的令牌可以用于不同的目的。ERC20 旨在通过指定每个令牌合约必须遵循的 6 个标准和 3 个可选功能来提高互操作性,以便它可以在每个交易所和钱包上使用。
- 但该标准存在一些漏洞,会导致安全问题和双重支出。因此,正在引入更好的标准。ERC223 是由 Dexaran 开发的此类标准之一,它处理类似于 ETH 交易的交易。
原文:https://aviralsharma.hashnode.dev/complete-guide-to-erc-20-standard-for-ethereum-network-2023
如果你觉得这篇文章对你有所帮助,欢迎赞赏~
赞赏