(四) ERC20 && ERC721 简介

vvEcho 2025-11-29 19:33:22
Categories: Tags:

ERC20 (同质化代币标准)

  1. 定义 :ERC20是以太坊上用于创建可互换代币(Fungible Tokens)的标准协议,所有代币完全相同且可互换。

ERC20 典型应用

  1. 稳定币 :USDT、USDC、DAI
  2. 平台代币 :交易所平台币(如BNB)
  3. 治理代币 :UNI、COMP等DeFi治理代币
  4. 积分系统 :游戏积分、会员积分

ERC721 (非同质化代币标准)

定义 :ERC721是以太坊上用于创建不可互换代币(Non-Fungible Tokens)的标准协议,每个代币都是独一无二的。

ERC721 典型应用

  1. 数字艺术品 :CryptoPunks、Bored Ape等NFT收藏品
  2. 游戏资产 :Axie Infinity的游戏角色和道具
  3. 虚拟房地产 :Decentraland的土地
  4. 身份认证 :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. 选择标准 :

B. 开发建议 :

C. 未来趋势 :