(四) ERC20 && ERC721 简介
ERC20 (同质化代币标准)
- 定义 :ERC20是以太坊上用于创建可互换代币(Fungible Tokens)的标准协议,所有代币完全相同且可互换。
- 同质化:每个代币完全等同
- 可分割:支持小数单位
- 标准化接口:确保钱包和交易所兼容
ERC20 典型应用
- 稳定币 :USDT、USDC、DAI
- 平台代币 :交易所平台币(如BNB)
- 治理代币 :UNI、COMP等DeFi治理代币
- 积分系统 :游戏积分、会员积分
ERC721 (非同质化代币标准)
定义 :ERC721是以太坊上用于创建不可互换代币(Non-Fungible Tokens)的标准协议,每个代币都是独一无二的。
- 非同质化:每个代币具有唯一性
- 不可分割:最小单位为1
- 元数据:可附加独特属性和信息
实例:数字藏品,游戏道具,虚拟地产,元宇宙等
ERC721 典型应用
- 数字艺术品 :CryptoPunks、Bored Ape等NFT收藏品
- 游戏资产 :Axie Infinity的游戏角色和道具
- 虚拟房地产 :Decentraland的土地
- 身份认证 :ENS域名、会员身份NFT
ERC20的核心功能
1 2 3 4 5 6 7 8 9 10 11 12
| function name() public view returns (string) function symbol() public view returns (string) function decimals() public view returns (uint8)
function transferFrom(address from, address to, uint256 value) returns (bool) function allowance(address owner, address spender) returns (uint256)
event Transfer(address indexed from, address indexed to, uint256 value) event Approval(address indexed owner, address indexed spender, uint256 value)
|
ERC721的核心功能
1 2 3 4 5 6 7 8 9 10 11 12 13
| function name() public view returns (string) function symbol() public view returns (string) function tokenURI(uint256 tokenId) public view returns (string)
function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) function getApproved(uint256 tokenId) public view returns (address) function setApprovalForAll(address operator, bool approved)
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId) event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
|
ERC20 和 ERC721 的主要区别
| 代币性质 |
同质化(可互换) |
非同质化(不可互换) |
| 单位 |
可分割(支持小数) |
不可分割(整数单位) |
| 标识系统 |
无唯一标识 |
每个代币有唯一tokenId |
| 转账方式 |
按数量转账 |
按特定ID转账 |
| 典型应用 |
货币、积分系统 |
收藏品、游戏资产 |
总结及建议
A. 选择标准 :
- 需要可互换资产时选择ERC20
- 需要唯一数字资产时选择ERC721
- 混合场景可考虑ERC1155(半同质化代币标准)
B. 开发建议 :
- ERC20适合需要流动性和互换性的场景
- ERC721适合需要稀缺性和独特性的场景
- 两种标准都有成熟的开发框架和社区支持
C. 未来趋势 :
- ERC20仍是DeFi和支付领域的主流
- ERC721在数字艺术和游戏领域持续创新
- 跨链互操作性成为新发展方向