此網頁僅供信息參考之用。部分服務和功能可能在您所在的司法轄區不可用。
本文由系統自動翻譯自原文。

什麼是 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和智能合約,或返回加密貨幣術語表。

參考來源

免責聲明
本文章可能包含不適用於您所在地區的產品相關內容。本文僅致力於提供一般性信息,不對其中的任何事實錯誤或遺漏負責任。本文僅代表作者個人觀點,不代表 OKX 的觀點。 本文無意提供以下任何建議,包括但不限於:(i) 投資建議或投資推薦;(ii) 購買、出售或持有數字資產的要約或招攬;或 (iii) 財務、會計、法律或稅務建議。 持有的數字資產 (包括穩定幣) 涉及高風險,可能會大幅波動,甚至變得毫無價值。您應根據自己的財務狀況仔細考慮交易或持有數字資產是否適合您。有關您具體情況的問題,請諮詢您的法律/稅務/投資專業人士。本文中出現的信息 (包括市場數據和統計信息,如果有) 僅供一般參考之用。儘管我們在準備這些數據和圖表時已採取了所有合理的謹慎措施,但對於此處表達的任何事實錯誤或遺漏,我們不承擔任何責任。 © 2026 OKX。本文可以全文複製或分發,也可以使用本文 100 字或更少的摘錄,前提是此類使用是非商業性的。整篇文章的任何複製或分發亦必須突出說明:“本文版權所有 © 2026 OKX,經許可使用。”允許的摘錄必須引用文章名稱並包含出處,例如“文章名稱,[作者姓名 (如適用)],© 2026 OKX”。部分內容可能由人工智能 (AI) 工具生成或輔助生成。不允許對本文進行衍生作品或其他用途。