# 什么是代币？

By [Harvey](https://paragraph.com/@harvei) · 2021-12-21

---

代币区块链上的一个代表。

你可以把一点链因此是一个的、全球性的数据库。如果我有 10 个 MATIC，则说明在该数据库中有一个条目，说“pencilflip 有 10 个 MATIC”。

你的代币，可能价值数（或数百万）美元，几乎只是数据库中的一个条目。

问题是，这个数据库是由世界上每个人共享的，不受任何人控制的。

这平均每个人都知道，并相信我有 10 个 MATIC。

那么ERC20代币呢？首先，举几个例子。

*   SHIB是一种ERC20代币
    
*   MATIC是ERC20代币
    
*   GRT是ERC20代币
    
*   BAT是一个ERC20代币
    

很明显，ERC20代币在。但它们是什么？

每个ERC20代币都与一个ERC20代币合约有关。

该合同遵守ERC20标准，该标准定义了合同的行为方式，以及它必须包括哪些功能。

例如一个ERC20合同，包括“转移”和“必须”功能。

这有点技术性。让我们倒退一下。

智能合约是生活在该区块链上的一些代码。代码有一些通信相关的状态。

ERC20合约的状态是非常的，它现在已经有一个从地址到合约的地图了。

例如，一个合同的状态可能看起来像这样。

`0x12345.... => 10 0x98765... => 21`

当别人的余额为非零时，他就“拥有代币”。

这一点很重要，所以让我们来敲打敲打它-币只是区块链上的一些状态！如果我有 10 个 MATIC，它只是某个特定的状态像：“我有 10 个马蒂克。

如果我有 10 个 MATIC，它只是某个特定合约的状态像。

`pencilflip => 10`

如果我有另一个 ERC20 代币，比如 GRT，这意味着 GRT 的 ERC20 合约也有一些状态，像。

`pencilflip => 15`

对于我拥有的每个ERC20代币，显示一个智能合约，其状态我的还原。

ERC20合约的代码也相当简单。最重要的功能是。

*   balanceOf(account)-返回一个账户的余额
    
*   transferFrom(from, to, amount)-转出代币
    
*   totalSupply()--返回现有的代币数量
    

重要的是，ERC20 代币是可替换的。NFT 使用一个完全不同的标准（通常是 ERC721）。

ERC20 有一个从账户到问题的地图——因此重要的是你有_多少_代币，而不是哪一个。

有这个标准的意义是什么，为什么这么多代币都用它？

一个词：互操作性。

例如，Unwap 这是让你轻松地一个 ERC20 代币将有。可能的，因为所有的 ERC20 都可以转让其他的。

如果一个代币合约没有使用 ERC20 标准，Uniswap 不知道如何处理它。

让我们来回顾一下。

*   ERC20是一个可替换代币的标准。
    
*   每个ERC20代币，例如SHIB，都有自己的智能合约。
    
*   如果你拥有SHIB，这意味着SHIB的智能合约有一些状态，将你的账户地址映射为一个正数。
    

你可能也听说过ERC777，这是一个较新的可替换代币的标准。

ERC777 有其优点和缺点，但它们实际上只与开发者有关。

---

*Originally published on [Harvey](https://paragraph.com/@harvei/q0TwBJh6YLVwIR6Y3RLs)*
