Solidity面试题更新 2026-08-03

在以太坊上,ERC-20 与 ERC-721 这两类代币标准的核心差异体现在哪些方面?它们分别适用于什么业务场景?

考察说明

考查对以太坊两种主流代币标准本质区别及应用场景的理解。

回答思路

  1. 【回答框架 1】ERC-20 是可替代代币标准,每个代币完全相同,可分割,本质上是一张余额映射表,通过 balanceOf 和 transfer 等接口实现转账。ERC-721 是不可替代代币标准,每个代币拥有独立标识符 tokenId,不可分割,适用于唯一资产。
  2. 【回答框架 2】ERC-20 核心接口包括 totalSupply、balanceOf、transfer、approve、transferFrom,支持小数精度。ERC-721 核心接口包括 ownerOf、tokenURI、safeTransferFrom,并定义 NFT 所有权和转移规则。
  3. 【回答框架 3】应用场景方面,ERC-20 用于同质化资产,如稳定币、治理代币、积分或通用支付工具;ERC-721 用于收藏品、游戏道具、房地产或数字艺术等需要唯一性确权的场景。
  4. 【回答框架 4】选择时需考虑业务是否要求代币可互换、可分割和统一价值。若资产本质同质,选 ERC-20;若每项资产独一无二且需独立所有权追踪,选 ERC-721。
  5. 【关键点 1】ERC-20 代币可互换、可分割,ERC-721 每枚唯一、不可分割。
  6. 【关键点 2】ERC-20 用余额映射,ERC-721 用 tokenId 到所有权的映射。
  7. 【关键点 3】ERC-20 适合同质化价值,ERC-721 适合唯一资产确权。
  8. 【关键点 4】ERC-721 支持元数据扩展如 tokenURI,ERC-20 不包含此标准接口。
  9. 【易错点 1】混淆可分割性:ERC-721 不可分割,不能像 ERC-20 那样按小数交易。
  10. 【易错点 2】误以为 ERC-721 不能交换,实际可转让,只是每枚唯一。
  11. 【易错点 3】应用场景选择时只考虑技术接口,忽略业务资产本质的同质性或唯一性。