份额
ERC-20 代币是在以太坊区块链上运行的加密货币。 它们由以太坊网络的智能合约驱动,使用以太坊网络进行交易,并与以太坊地址和钱包进行交互。 同时,ERC 20 代币有自己的股票代码、供应率、价格和其他参数。 例如,尽管 EOS 是一种以太坊代币,但它的市值却高达 115 亿美元,比大多数通过挖矿获得的加密货币都要高。

得益于 ERC20 架构的可访问性,制作和部署自己的代币并进行分发(例如在 ICO 期间)变得相当容易。 在 ICO 和其他类型的发行中,预售是为了吸引投资者的资金。 创建代币的过程称为 TGE,是代币生成事件的简称。 项目发行一定数量的 ERC 20 代币,并以比特币或 ETH 的价格出售给预售的所有参与者。
需要注意的是,虽然ERC-20 代币是完全成熟的加密货币,可以在流行的加密货币交易所上市,但这并不意味着它们一定会上市。 一个 erc20 代币可能会在加密世界掀起一场风暴,也可能永远停留在其创造者的余额上。
ERC20 的实际用途
起初,代币用于公司发展的初期筹资。 它们是具有固定义务的数字资产。 代币直接从开发者处购买,不能在其他任何地方出售或购买。
以太坊 ICO 于 2014 年进行,共筹集了 1600 多万美元。 以太坊吸引了许多行业代表的关注,因为它未来可用于优化和数字化低效的业务流程。
如果可以在加密货币交易所交易,ERC-20 代币就可以被视为加密货币。 ERC20代币还可以发展成为拥有自己区块链的整个生态系统。 创建了自己的区块链的 ERC20 代币包括 Tron 和 EOS。 Tron 创造了自己的区块链,因为它的愿景是:区块链游戏每天都在变得越来越流行。 EOS 是以太坊的竞争对手,主要用于去中心化交易所和赌博。
以太坊代币可用作资产和货币的一种形式;它还可以代表任何种类的贵重物品,并授予项目会员资格或作为确认所有权的一种手段。 任何现实世界的资产,无论是实物资产还是其他资产,都可以代币化,并在加密货币交易所进行交易。

最受欢迎的 ERC-20 代币
以太坊区块链是加密货币事实上的家园,容纳了当今大多数最大的另类币。 最有名的代币是 ERC20 代币,加密生态系统中的大多数 DApp 都建立在以太坊网络上。 众所周知,一些 ERC20 标准的稳定币主导着加密货币市场。
USDC
除了 Tether 的 USDT,以太坊网络中最大的 ERC20 稳定币之一是 USDC。

USDC 由 Coinbase 与 Circle 合作推出,通常被那些对 Tether 持批评态度的人视为 USDT 更值得信赖的替代品。
Binance 的 BEP20 标准托管在 Binance 智能链上,而智能链又源自以太坊网络。 因此,Binance 的两个原生代币 - BNB 和 BUSD - 在技术上也可以被视为以太坊代币。
单一的标准、创建的简便性和与平台的兼容性使 ERC20 代币得到了广泛传播。 下面是一些使用 ERC20 协议的流行代币的例子。
USDT Tether

Tether Limited 于 2015 年发行了与美元挂钩的稳定币 USDT。 它基于 ERC 20 标准,已成为全球大多数加密货币交易商和交易所的首选稳定币。 USDT Tether 的价值由公司账户上的美元支持。
其他法定货币也有自己的稳定币。 例如,Binance GBP 的支持货币是英镑,而 STASIS 的支持货币是欧元。
旧系统是基于比特币区块链的 Omni 协议。 由于费用高、确认时间长,该公司决定迁移到以太坊区块链。
包裹比特币和包裹以太币

ETH 或以太坊是以太坊的基础货币。 WETH 是 "包裹的以太坊 "或 "外壳中的以太坊"。 引入该标准的原因是 ETH 出现在 ERC20 标准通过之前,因此不符合该标准。
基于以太坊的去中心化平台根据智能合约在用户之间交换代币。 要进行交换,代币必须属于同一标准。
WETH 用于用 ETH 代币交换相应的 ERC20 协议。
众多网络用户,包括拥有资本的大公司,都对基础货币的发展感兴趣。
其中有
- Wrapped Ether 系统拥有超过 200 万个以太币,价值 3.8 亿美元;
- 3.7 亿美元;
- Bitfinex 交易所,不到 200 万个 ETH。

比特币还有一个名为 WBTC 的 ERC20 封装版本。 原始 BTC 是比特币区块链的原生代币,对以太坊不友好。 与 WETH 一样,WBTC 也是为了解决这一问题:它始终与比特币价格挂钩,并与以太坊网络完全兼容。 封装代币最常用于在互不兼容的不同网络之间传输代币。
LCS
LocalCoinSwap 是一个去中心化平台,为用户提供使用任何可用支付方式直接购买和出售加密货币的机会。

通过 LCS,您可以找到货币的买方或卖方,并在不涉及网站和钱包的情况下进行交易。 该平台使用传统的存款系统,存储可用于交换的加密货币资金。 当买卖双方确认付款后,系统会向买方发送硬币。 该平台提供在季度末按 1 比 1 的比例领取红利的权利。
Etherscan:ERC 20 代币之家
ERC20代币合约可在以太坊网络的原生跟踪器Etherscan.io上查看。

除了股票代码和简要说明外,您还可以监控其总供应量、市值(链上和流通)、持有者数量以及价格和价格变化数据。

要查看以太坊网络上的所有 ERC20 代币合约,您需要点击右上角的代币,然后选择 ERC20 代币。 这里将列出每一种市值或多或少具有竞争力的新代币。
在撰写本文时,以太坊网络上至少部署了 62.5 万个 ERC20 代币合约。 您还可以在此查看其他以太坊代币标准-ERC721 适用于不可兑换代币 (NFT),ERC155 适用于多重代币。
ERC 20 代币的技术层面
从本质上讲,ERC-20 代币是以太坊区块链上的智能合约。 ERC-20 是一个统一的标准,包括一套合同应遵循的基本规则。 该标准可确保网络内所有代币的兼容性。
ERC 是 "以太坊征求意见 "的缩写,20 是其标识符编号。
ERC-20早在2015年就有了设想,并于2017年走向世界。 在此之前,所有智能合约都是异构的,导致它们之间存在兼容性问题,钱包必须处理大量代码才能识别每种特定的代币。
ERC20 代币和 EVM
EVM(以太坊虚拟机)是一种虚拟计算环境,是负责在以太坊网络上执行算法(智能合约)的分布式计算机。
EVM 被认为是图灵完备的,这意味着它在理论上能够处理任何可以在计算机上完成的计算任务(只要有足够的资源)。
作为执行智能合约的付款方式,EVM 使用 "gas",单位为 "gwei",即 ETH 的最小分量;gas 包含在交易成本中。 用户必须支付的具体气体量取决于所执行计算的复杂程度和以太坊区块链当前的工作量。
智能合约遵循 EVM 上定义的数据结构,用于创建 ERC-20 代币。 该数据结构控制着令牌的命名、分配、供应量和监控。
ERC20 = 代码?
很多人都想知道,ERC 20 是否可以被视为代码。 答案并不确切:ERC20 代币更像是一套指导方针,旨在概述在以太坊网络中运行的基本规则。
该标准有多种用途,包括跟踪所有交易、用户当前的代币余额、代币代码和总供应率;ERC 20 代币标准还确保了网络中不同 DApp(去中心化应用程序)的兼容性。
ERC 20 代币合约内部
ERC20 标准概述了智能合约正常运行必须遵循的六项强制功能和三项可选功能。
每个代币都必须有一个名称和一个代币符号(也称为股票代码)。 它还必须指定小数,即它能被 10 整除多少次。 下面是一组必备功能,有些人可能一开始会觉得有点难掌握:
function () public view returns (uint256);
function balanceOf(address tokenOwner) public view returns (uint);
function allowance(address tokenOwner, address spender)
public view returns (uint);
function transfer(address to, uint tokens) public returns (bool);
function approve(address spender, uint tokens) public returns (bool);
function transferFrom(address from, address to, uint tokens) public returns (bool);
下面是这些功能的代表:
- 总供应量:将发行的代币总数;
- 余额:令牌所有者账户的余额;
- 转账:自动执行将指定数量的代币转移到使用代币进行交易的指定地址;
- TransferFrom:使用令牌从指定地址自动执行指定数量令牌的传输;
- 批准:允许花费者从指定账户中提取一定数量的代币,最高限额为特定金额;
- 津贴:向所有者返还一定数量的代币;
- 传输:传输成功时触发的事件(事件);
- 批准:已批准事件(一个事件)的日志。
通过适当授权,ERC20 的功能允许外部实体(如加密钱包应用程序)查看其余额并在用户之间转移代币。
智能合约可识别两种事件类型:
event Approval(address indexed tokenOwner, address indexed spender,
uint tokens);
event Transfer(address indexed from, address indexed to,
uint tokens);
这些活动可以是
- 援引
- 发出
在以太坊账户授予他人提取代币的权利后,以及代币实际转移后,都会发生上述两种情况。 根据标准,"函数转移 "必须在成功转移代币时发出 "转移 "事件。
function allowance(address owner, address spender) external view returns (uint256);2
ERC-20标准允许一个地址向另一个地址提供津贴,使其能够从中检索令牌。 此获取器返回允许花费者代表所有者花费的剩余代币数。 该函数是一个 getter 函数,不会修改合约的状态,默认情况下应返回 0。
制作 ERC 20 代币
步骤 1
- 选择一个名称,例如最佳硬币
- 选择一个符号,让它成为 BEC
- 决定供应总量
- 决定代币是否能被整除,如果能被整除,小数点后最多保留几位?
步骤 2
部署令牌
在链接提供的智能合约中输入以下数据。下载两个 .sol 文件。进入混音编辑器。下载两个文件。

文件通过加载(打开)按钮加载。 选择两个文件。
打开 NewToken.sol,在
totalSupply - 代币总数
name - 标记的全名
decimal - 小数点后的扎克数。 事实上,在合同中,一切都只能以整数存储。 因此,如果希望记入非整数的令牌,则应指定字符数。
- 符号 - 交换的符号
- 购买广告
- 拔掉插头
结果应该是这样的
保存它。 剩下的就是将合同上传到网络。 例如,将其安装在 Ropsten 测试网中。 任何客户端都需要进行部署。 让我们使用 MetaMask-它不知道如何在 Solidity 上编译智能合约,所以我们先编译。
在混音编辑器右侧,打开编译选项卡。 默认情况下,合同是自动编译的。 在 "选择 "中选择合同并单击 "详细信息",即可查看字节码和其他信息。
要部署,请单击 "运行",选择 "注入式 Web3″,然后选择我们要部署的账户(如果浏览器中安装了 MetaMask,它应该会自动加载)。 在字段中输入必要信息(气体、值),然后单击 "创建"。

MetaMask 从页面中提取动作。
单击提交。 您的合同已盖章。 MetaMask 中会出现一个带有文件的图标(可进入交易页面),并标注 "合同已发布"。

密封智能合约是一种代币。
步骤 3
令牌操作
基于以太坊的代币交易需要两个钱包-一个是已经拥有代币的钱包(默认情况下是合约创建者,即 ERC20 标准),另一个是需要转移代币的钱包。
使用我们的令牌执行操作(例如转移令牌)。 我们可以在 etherscan 智能合约页面(MetaMask 中的链接)或 remix 页面上进行操作。

蓝色为读取操作,粉红色为写入操作。
要转让 ERC-20 代币,请输入接收者的地址和数量。 之后(当然还要将数据输入区块链),您可以使用 balanceOf 操作查看自己或代币接收者的余额。
完成!
ERC 20 代币标准的问题
ERC 20 代币发行分为两层。 分为两层:用户端和开发者端。
令牌用户
对于普通用户来说,最普遍的不便包括
- 吞吐量低-当 dapp 出现高需求时,以太坊网络就会堵塞,例如 CryptoKitties(后来转移到自己的 Flow 区块链上)。 一旦出现这种情况,网络速度就会减慢,交易成本就会增加。
- 交易速度慢 - 区块时间约为 14 秒,因此交易处理时间可能长达一分钟。 这对某些用途来说可能足够,但对其他用途来说可能太慢。
- 用于气体支付的 ETH - 在进行涉及 ERC-20 代币的交易时,需要使用第二种加密货币来支付交易费用。 这会增加时间和成本,因为这会导致在不同平台上积累 "灰尘 "余额。
代币开发者
众所周知,ERC20 代币有两个关键问题会造成金钱损失。 它们是
- 缺乏交易处理。
使用 ERC20 代币进行交易有两种方式:
- 传递函数。
- approve + transferFrom mechanism.
代币余额只是代币合约中的一个变量。
代币的交易是对智能合约内部变量的改变(发送方的当前余额将减少,接收方的当前余额将增加)。
转账功能不会通知收款人交易已完成。 收件人无法识别收到的交易! 这可能会导致未处理的交易和金钱损失。
因此,如果接收方是智能合约,用户必须使用批准的 +transferFrom 算法转移其 erc20 代币。 如果接收者是外部拥有的账户地址,用户必须通过转账功能转移代币。
如果用户操作失误,选择了错误的功能,那么令牌就会被卡在智能合约中,交易将无法被识别。 因此,被卡住的 erc20 令牌将无法找回。
因为这个问题,至少损失了 40 万美元。
- approve + transferFrom 机制可能不安全
众所周知,核准 + 转出机制允许双重支出。
除非有可能创建类似 target="_blank"> target="_blank"> Bancor 令牌交换器这样的自定义令牌交换器,否则这并不重要。
ERC223令牌标准是解决这一问题的方法。
ERC #223 令牌标准是专门为解决 ERC 20 令牌标准的问题而开发的。
每个令牌开发人员都应注意这一点。 开发一种会给用户带来金钱损失的令牌并不是一个好的解决方案。 请对您正在进行的开发工作负责。
如何实际操作
爱丽丝有 10 个 ERC20 代币。 她想送 3 枚代币给鲍勃。
对于普通用户来说,爱丽丝的 "账户余额 "中似乎有一些代币,但代币余额只是代币合约中的一个变量。
Alice 正在发起交易。 事实上,每一笔代币交易都是对代币合约的调用。
爱丽丝要求令牌合约将她的余额减少 3,同时将鲍勃的余额增加 3。
交易完成后,该 ERC 20 代币合约的内部变量将发生变化。 没有人会告诉接收者(本例中为鲍勃)发生了交易。
这对于外部拥有的账户(即由人类拥有的账户)来说没有问题。 爱丽丝可以告诉鲍勃,她给他发送了代币。 鲍勃看着自己的余额,意识到它确实发生过。
这对合约来说是一个关键问题,会导致代币丢失。 不是为代币设计的合约必须拒绝接收到的代币交易。 否则,由于无法拒绝不当的代币转移,每个合约都可能成为代币陷阱。
这里的ERC,在技术上被称为 "公共常数符号"。 以太坊征求意见稿是描述在区块链上创建代币规则的文件名称。
ERC20 的法律影响
从法律角度看,ERC 20 代币的情况甚至比加密货币还要模糊。

世界上大多数国家对这一领域的监管要么根本不存在,要么倾向于 "禁止"。 这是由多种因素造成的,其中包括
- 大量与 ERC 20 令牌相关的欺诈行为。 由于代币的本质与 ICO(其中许多都是公开或隐蔽的骗局)的关系最为广泛,这给这一概念留下了负面印记。
- 加密货币是一个相对年轻的领域。 区块链技术在金融技术领域取得了重大创新。 首先,在使用去中心化技术和假冒匿名的情况下,这一领域的监管非常复杂。 其次,它是全球经济中的一个新领域。
ERC 20 代币 = 安全性?
- 关于承认 ERC 20 代币为证券的争论不绝于耳。 尤其是那些寻求在 ICO 等活动中创建和分发自己的代币的人。 事实上,ERC 20 代币("能给所有者带来回报的股票")在美国和其他大多数地方都受证券法的管辖。 你甚至不需要通过复杂的豪威测试。 Landreth Timber 和其他类似的测试都能起到作用-无论如何,企业中的利润权益都会被视为担保。
- 代币是一种证券并不意味着不能出售。 人们经常买卖证券(想想硅谷的初创企业)。 但要做到这一点,您必须遵守证券法规定的私募证券豁免条款之一。 这通常意味着不向公众提供、不做广告等。 - 换句话说,这与大多数代币销售的做法恰恰相反。
- 或者,您也可以走 Reg A+ 路线,向公众发售代币,但上限为 5000 万美元,并首先获得美国证券交易委员会的批准,同时进行一些持续的报告(不比完全按照《交易所法案》报告的公司所需的报告差)。 在证券法的同一总体范围内,还有其他一些混合搭配的选择。