miller
发布于

ERC-20, ERC-721, ERC-1155 standards. 区别

TL;DR:
• ERC-20 → 同质化代币标准(Fungible Token,像货币一样,每个单位都等价)。
• ERC-721 → 非同质化代币标准(NFT,每个 Token 独一无二)。
• ERC-1155 → 混合型多资产标准(同时支持同质化和非同质化,并优化批量转账)。

逐步解析

  1. ERC-20(同质化代币,Fungible Token)
    • 特点:
    • 每个 Token 没有差别(1个 USDT = 1个 USDT)。
    • 适合货币、积分、治理代币等场景。
    • 核心函数:
    • totalSupply():总供应量
    • balanceOf(address):查询余额
    • transfer(to, amount):转账
    • approve(spender, amount) + transferFrom(from, to, amount):授权代他人转账
    • 应用案例:
    • USDT、USDC、DAI、治理币(COMP、UNI)。

  1. ERC-721(非同质化代币,NFT)
    • 特点:
    • 每个 Token 独一无二,用 tokenId 区分。
    • 不能互换(CryptoPunk #1 ≠ CryptoPunk #2)。
    • 元数据(Metadata)可绑定图片、音乐、游戏道具等。
    • 核心函数:
    • ownerOf(tokenId):查询 NFT 拥有者
    • transferFrom(from, to, tokenId):转移指定的唯一 Token
    • tokenURI(tokenId):获取元数据链接
    • 应用案例:
    • 数字艺术(CryptoPunks、Bored Ape Yacht Club)
    • 游戏资产(Decentraland 土地)
    • 数字收藏品。

  1. ERC-1155(多资产混合标准)
    • 特点:
    • 既支持同质化代币,又支持非同质化代币。
    • 单一合约可以管理多种 Token 类型(比 ERC-20 和 ERC-721 更高效)。
    • 批量转账功能(一次交易转多个代币,节省 Gas)。
    • 核心函数:
    • balanceOf(account, id):查询某个 Token ID 的余额
    • safeTransferFrom(from, to, id, amount, data):转移某个 ID 的 Token
    • safeBatchTransferFrom(...):批量转移多个 ID 的 Token
    • 应用案例:
    • 游戏道具:一把剑(NFT)、100个金币(FT),同一个合约内管理。
    • 多系列 NFT 项目(艺术家可以在一个合约里发行不同系列)。
    • 高效率市场(如 OpenSea 支持 ERC-1155)。


要更通俗理解:
• ERC-20 → 像钞票(每张100元一样)。
• ERC-721 → 像身份证(每张不同)。
• ERC-1155 → 像超市收银系统(既能记录钞票,又能记录身份证,还能一次打包结账)。

浏览 (5)
点赞
收藏
评论