什么是 ERC-721?

ERC-721 是 Ethereum 上用于追踪独立编号代币的一套接口标准。这类代币通常称为非同质化代币(non-fungible token,NFT):同一合约里的每个编号都能被单独识别和转移,不像按数量累计余额的同质化代币那样只关心有多少单位。

ERC 是 Ethereum Request for Comments 的缩写,指 Ethereum 的应用层标准与约定类别;721 是这项提案的编号。标准让钱包和应用知道怎样查询某个编号由谁持有、怎样转移它,以及怎样授权其他地址代为操作。

独立编号怎样标识一个代币

每个 ERC-721 合约都可以管理很多代币编号,也就是 tokenId。编号只在这份合约内部有意义,因此在同一网络上识别一个代币需要同时使用合约地址和编号;跨网络核对时还要加上网络名称。

例如,A 合约的 7 号代币和 B 合约的 7 号代币不是同一个对象。即使两个代币显示相同名称或图片,只要合约地址不同,它们的链上记录就彼此独立。

编号本身也不保证稀有、真实或有价值。开发者可以采用连续编号、随机编号或其他分配方式;标准只要求具体编号能够被区分,不解释编号背后的商业含义。

持有记录怎样查询

ERC-721 提供两种容易混淆的查询:

  • ownerOf 查询某个编号当前归哪个地址;
  • balanceOf 查询某个地址持有多少个该合约的代币。

这里的余额是代币件数,不是把编号相加,也不表示这些代币价值相同。若想知道某个地址具体持有哪些编号,仅靠基础 balanceOf 不够;应用可以读取历史和当前状态建立索引,或使用合约另外提供的可选列举功能。

转移的是指定编号

转移 ERC-721 代币时,操作必须指出发送地址、接收地址和具体编号。成功后,合约会更新该编号的持有人,并发出 Transfer 事件,供钱包、区块浏览器和数据服务识别变化。

ERC-721 同时规定普通转移和安全转移。transferFrom 直接把指定编号转给目标地址;safeTransferFrom 在目标是合约时,还会检查对方是否按约定确认能够接收 ERC-721 代币。若没有正确确认,安全转移会失败,从而减少代币被转入无法处理它的合约后卡住的情况。

“安全转移”只检查接收合约是否支持这套接收流程。它不会判断接收地址是否属于预期的人,也不会验证代币内容、交易价格或外部项目是否可信。

单个授权与全部授权

持有人可以让其他地址或应用代为操作代币,但 ERC-721 把授权分成两个范围。

approve 为一个具体编号指定获准操作的地址;getApproved 查询该编号当前的单独授权。代币发生转移后,这项单独授权会被清除。

setApprovalForAll 则把持有人在该合约中的全部代币交给某个操作方管理;isApprovedForAll 用来查询这种全量授权。它不只是授权当前已经持有的编号,也可能影响之后取得的同一合约代币,直到授权被撤销。

单个编号的授权发生变化时,合约会发出 Approval 事件;全量授权发生变化时,则会发出 ApprovalForAll 事件。钱包和数据服务可以据此更新记录,但实际授权仍要以合约当前状态为准。

全量授权不会立即转走代币,但被授权方获得了很大的操作范围。用户需要核对被授权地址和合约地址;仅断开钱包与网站的连接,通常不会撤销已经写入链上的授权。

元数据把编号连接到描述信息

基础持有与转移接口只处理编号和地址。ERC-721 的可选元数据扩展可以提供代币名称、交易代码,以及一个返回描述信息位置的 tokenURI。

这个位置可能指向链上数据,也可能指向网站或分布式存储中的文件。文件通常再包含名称、描述和图片地址。钱包能否显示图片,取决于它是否支持相应格式,也取决于链接和文件仍然可访问。

所以,NFT 在链上存在,不表示图片本身一定存储在链上。元数据还可能被服务器更新,或因链接失效而无法读取。判断内容能否长期保持,需要查看具体存储方式和合约是否允许修改位置。

标准怎样让应用识别接口

ERC-721 要求合约支持一种接口识别机制。应用可以询问合约是否声明支持某组功能,再决定能否按 ERC-721 的方式与它交互。

另一项 Ethereum 接口标准 ERC-165 规定了这套机制,作用类似让合约回答“我支持哪些接口”。它能帮助应用选择调用方式,但只能反映合约的声明和实现,不能证明代币内容真实或代码没有缺陷。

元数据和列举属于可选扩展。一个合约可以支持基础 ERC-721 转移,却不提供名称、图片链接或完整编号列表。钱包不应把可选功能当成每个 ERC-721 合约都必然具备的能力。

与同质化代币标准的区别

ERC-20 主要记录每个地址拥有多少单位;转账时填写数量。ERC-721 主要记录每个编号归谁;转账时填写具体编号。

因此,持有 3 个 ERC-721 代币只说明有 3 个编号,不表示三者可以互换或价值相等。相反,同一种 ERC-20 代币的等量单位按合约记账时通常可以互换,不需要逐个编号追踪。

两类标准都可以提供转移和授权,但参数和授权范围不同。应用不能因为函数名称相似,就用 ERC-20 的数量逻辑处理 ERC-721 编号。

标准没有证明链外权利

ERC-721 记录的是合约中的编号、持有人和授权关系。它本身不会确认某张图片由谁创作,也不会自动授予著作权、门票入场权、实物所有权或其他链外权利。

一个项目可以用编号关联收藏品、游戏物品、会员凭证或其他对象,但这种关联是否有效,还取决于发行安排、使用规则、内容来源和适用法律。链上持有人变化只证明合约状态改变,不能单独证明链外机构一定承认相同结果。

兼容标准不等于行为完全相同

具体合约可以在基础接口之外加入铸造、销毁、暂停、名单、版税提示、升级或其他规则。ERC-721 没有统一规定代币如何首次创建、供应是否有上限、交易平台必须怎样收费,也不保证所有应用都会遵循额外信息。

接入或使用具体代币时,需要核对网络、合约地址、编号、授权范围、元数据存储和管理权限。“ERC-721”只是共同接口,不是对发行方身份、内容真实性、稀有度或市场价值的认证。

常见问题

每个 NFT 都使用这套标准吗?

不是。其他网络有自己的代币模型,Ethereum 上也存在其他 NFT 标准或自定义接口。需要先确认网络和具体合约支持的标准。

一个合约只能创建一个 NFT 吗?

不是。同一 ERC-721 合约可以管理许多独立编号,每个编号分别记录持有人和授权状态。

编号相同就是同一个 NFT 吗?

不是。编号只在具体合约内唯一。必须把网络、合约地址和编号一起核对。

安全转移能防止转错人吗?

不能。安全转移主要检查接收合约能否按约定接收 ERC-721 代币,不会判断地址是否属于预期收款人。

购买 NFT 就获得图片版权吗?

不一定。ERC-721 不规定著作权或其他链外许可。持有人获得哪些使用权,需要查看项目条款、许可和适用法律。

相关词条

继续了解代币标准、加密代币、ERC-20和智能合约,或返回加密货币术语表。

参考来源

免责声明
本文章可能包含不适用于您所在地区的产品相关内容。本文仅致力于提供一般性信息,不对其中的任何事实错误或遗漏负责任。本文仅代表作者个人观点,不代表欧易的观点。 本文无意提供以下任何建议,包括但不限于:(i) 投资建议或投资推荐;(ii) 购买、出售或持有数字资产的要约或招揽;或 (iii) 财务、会计、法律或税务建议。 持有的数字资产 (包括稳定币) 涉及高风险,可能会大幅波动,甚至变得毫无价值。您应根据自己的财务状况仔细考虑交易或持有数字资产是否适合您。有关您具体情况的问题,请咨询您的法律/税务/投资专业人士。本文中出现的信息 (包括市场数据和统计信息,如果有) 仅供一般参考之用。尽管我们在准备这些数据和图表时已采取了所有合理的谨慎措施,但对于此处表达的任何事实错误或遗漏,我们不承担任何责任。 © 2026 OKX。本文可以全文复制或分发,也可以使用本文 100 字或更少的摘录,前提是此类使用是非商业性的。整篇文章的任何复制或分发亦必须突出说明:“本文版权所有 © 2026 OKX,经许可使用。”允许的摘录必须引用文章名称并包含出处,例如“文章名称,[作者姓名 (如适用)],© 2026 OKX”。部分内容可能由人工智能 (AI) 工具生成或辅助生成。不允许对本文进行衍生作品或其他用途。

相关推荐

查看更多
consensus-mechanism

什么是共识机制?

共识机制是区块链网络用来决定“接下来接受哪一个区块、采用哪一段账本历史”的一套规则。网络中的节点分别接收和检查数据,即使消息到达时间不同,或有人提交冲突信息,它们仍需要用相同规则得出能够继续处理的结果。 这里的“共识”不表示每个人对所有事情意见一致,也不要求每个节点在同一时刻看到完全相同的数据。它表示:在协议设定的条件成立时,遵守规则的节点最终能够采用兼容的账本历史,并知道哪些交易仍可能变化,哪些
2026年11月9日
what-is-block

什么是区块?

区块可以理解为区块链用来打包新记录的数据包。一个区块通常包含一批交易或其他更新,以及供区块链网络中的节点检查这些内容的信息。除第一个区块外,新区块通常还会保存前一个区块的数字指纹,也就是哈希值,因此区块能够按顺序连接起来。 ![block](//images.ctfassets.net/4nqoo8goeymu/6ilDzmUaRfyrFJPV8ejCuA/33661c529cbe30e097c1
2026年11月9日
candlestick-chart

什么是代币化股票?

代币化股票(tokenized stocks)是用区块链上的代币,表示某只股票本身、与股票有关的权益,或者跟随股票价格变化的合约。它不是一种结构完全统一的产品:“代币名称对应某家公司”只能说明参考对象,不能证明持有人就是这家公司的股东。 理解代币化股票,最重要的不是先看它部署在哪条链上,而是先问:代币究竟代表什么权利?有些代币直接参与股票持有人登记,有些代表由第三方托管的股票权益,还有些只让代币价
2026年11月9日
token-standard

什么是代币标准?

代币标准是一套技术规范,规定代币程序应提供哪些功能、接受什么输入,以及怎样把结果告诉钱包和其他应用。它让不同开发者创建的代币可以用一组共同规则被识别和调用。 可以把标准理解为接口约定:它规定“对外怎样沟通”,但不替每个项目决定供应量、用途、管理权限或链外权利。两个代币可以遵循同一标准,却采用不同代码、拥有不同权限,并代表完全不同的对象。 ## 没有共同标准会发生什么 如果每个代币都自行命名查询余额
2026年11月9日
USDC-DAI-USDT Price: Everything You Need to Know About Stablecoins

什么是稳定币?

稳定币是一类试图让价格接近某个参考价值的加密资产,常见参考对象是美元等法定货币。“稳定”说的是设计目标,并不是价格保证。稳定币仍可能高于或低于目标价格交易,不同持有人也不一定都能直接向发行方赎回。 理解稳定币时,可以把四个问题分开:参考价值是什么?由什么机制支持?谁可以直接赎回?特定市场上实际可得的价格是多少?某项说明回答了其中一个问题,不代表其他问题也得到回答。 ## 目标价值不等于市场价格 *
2026年11月9日
smart-contract

什么是智能合约?

智能合约是部署在区块链网络上、由交易或其他程序调用后按代码规则运行的程序。它可以读取输入和链上数据,检查预设条件,并在执行成功后更新区块链保存的数据。 “智能”不表示它会自行思考,“合约”也不保证它在法律上构成合同。这个名称强调的是:参与者可以把一组操作规则写成代码,由运行区块链软件并检查交易的节点按协议处理,而不必由某一台服务器单独决定结果。 ## 先分清代码、状态和调用 **代码**规定程序可
2026年11月9日
查看更多