買幣
行情
現貨
合約BTC
理財
活動中心
福利中心
更多
0 費狂歡節
ERC-721: 什麼是 ERC-721?ERC-721 是 Ethereum 的代幣標準,用於建立和管理非同質化代幣(NFT)。每個 ERC-721 代幣都有專屬的代幣 ID,可與同一智能合約管理的其他代幣區分開來。官方ERC-721 規範定義了標準規則,用於追蹤所有權、轉移代幣,以及授予其他地址管理 NFT 的權限。ERC-721 被歸類為最終版 Ethereum Request for Comments 標準ERC-721: 什麼是 ERC-721?ERC-721 是 Ethereum 的代幣標準,用於建立和管理非同質化代幣(NFT)。每個 ERC-721 代幣都有專屬的代幣 ID,可與同一智能合約管理的其他代幣區分開來。官方ERC-721 規範定義了標準規則,用於追蹤所有權、轉移代幣,以及授予其他地址管理 NFT 的權限。ERC-721 被歸類為最終版 Ethereum Request for Comments 標準

ERC-721

2026/10/13 15:31
#Intermediate
Humanity
H$0.05731+4.86%
SynFutures
F$0.0031+5.15%
PX
PX$0.0113-0.87%
AINFT
NFT$0.0000002368+0.21%
SPACE ID
ID$0.03174+1.50%

什麼是 ERC-721?

ERC-721 是 Ethereum 的代幣標準,用於建立和管理非同質化代幣(NFT)。

每個 ERC-721 代幣都有專屬的代幣 ID,可與同一智能合約管理的其他代幣區分開來。

官方ERC-721 規範定義了標準規則,用於追蹤所有權、轉移代幣,以及授予其他地址管理 NFT 的權限。

ERC-721 被歸類為最終版 Ethereum Request for Comments 標準。

建立此標準的原因是,可互換代幣標準無法準確代表必須逐一識別和追蹤的資產。

ERC-721 代幣可代表數位收藏品、遊戲道具、會員資格憑證、虛擬財產、活動門票、金融部位、類似網域名稱的資產,或與實體物品相關的紀錄。

此標準定義區塊鏈上的所有權與轉移行為,但不會自動確立著作權、法律所有權、真偽、金融價值,或對外部資產的權利。

ERC 代表什麼?

ERC 是 Ethereum Request for Comments 的縮寫。

ERC 描述應用程式和智能合約可遵循的技術標準,以提升 Ethereum 生態系統內的互通性。

ERC-721 是指派給非同質化代幣標準的識別編號。

這個編號不代表代幣的供應量、價格、區塊鏈地址或發行日期。

實作 ERC-721 的合約可以加入選用擴充功能和自訂函式,只要其必要行為仍符合此標準即可。

為什麼要建立 ERC-721?

可互換資產可以互相替代,因為同一資產的每個單位通常具有相同用途。

非同質化資產必須分開追蹤,因為每個單位的特性、歷史、稀有度、權利或價值都可能不同。

ERC-721 為錢包和應用程式提供一套共通方法,用來識別每個獨特代幣的持有者。

它也將轉移、核准、操作者權限,以及與所有權相關的事件紀錄標準化。

若沒有共通標準,每個 NFT 合約都可能需要不同的整合方式。

共通函式讓通用型錢包、區塊鏈瀏覽器、索引器、遊戲、借貸協議和其他加密貨幣應用程式能與多種 NFT 收藏品互動。

ERC-721 的運作方式

ERC-721 智能合約會儲存或計算每個有效代幣 ID 對應的持有者。

合約也會追蹤每個地址在該收藏品中持有的 NFT 數量。

經授權的轉移發生時,合約會移除傳送者的所有權,並將該代幣 ID 指派給接收者。

合約會發出標準化的

Transfer
事件,讓外部應用程式能觀察這項變更。

持有者可以核准一個地址轉移特定 NFT,也可以授權操作者管理其在該合約中持有的所有 NFT。

所有轉移和核准都必須遵循已部署智能合約中編碼的授權規則。

Ethereum 節點會執行交易,並驗證最終所有權狀態是否符合合約與協議規則。

什麼是代幣 ID?

代幣 ID 是一個無號整數,用於在 ERC-721 合約中唯一識別一個 NFT。

同一個代幣 ID 可以同時存在於多個不同合約中,但不代表相同資產。

因此,NFT 必須由區塊鏈網路、合約地址和代幣 ID 三者共同識別。

例如,一個合約中的代幣 ID 50,與另一個合約中的代幣 ID 50 毫無關聯。

代幣 ID 不必從 0 開始,也不必依簡單順序遞增。

收藏品可以使用連續 ID、隨機指派的 ID、編碼識別碼,或合約支援的其他系統。

應用程式應查詢合約,而不是假設某個範圍內的每個數字都代表現存 NFT。

ERC-721 為何具有非同質性?

每個 ERC-721 代幣都會在區塊鏈上作為個別物件追蹤。

同一收藏品中的兩個 NFT,可能具有不同的中繼資料、歷史、屬性、稀有度和市場價值。

擁有一個代幣 ID,不代表持有者也擁有其他代幣 ID。

標準 ERC-721 代幣會以完整代幣的形式轉移,而非以小數數量轉移。

若要取得分割後的經濟所有權,必須使用 ERC-721 核心標準以外的獨立智能合約或代幣結構。

稱兩個 NFT 為非同質化代幣,不代表它們的視覺內容一定不同,因為不同代幣 ID 可能指向相似或相同的中繼資料。

ERC-721 核心函式

核心標準包含用於查詢所有權、轉移 NFT 和管理轉移權限的函式。

必要函式包括

balanceOf
、
ownerOf
、
transferFrom
、兩種版本的
safeTransferFrom
、
approve
、
getApproved
、
setApprovalForAll
和
isApprovedForAll
。

ERC-721 也採用 ERC-165 介面偵測。

此標準不要求提供公開鑄造函式、公開銷毀函式、銷售機制、版稅系統、最大供應量或固定中繼資料政策。

這些功能取決於具體實作或獨立擴充功能。

balanceOf 函式

balanceOf
函式會傳回某個地址在一個 ERC-721 合約中持有的 NFT 數量。

如果某地址在同一收藏品中持有代幣 ID 8、19 和 250,其餘額就是 3。

傳回值不會顯示該地址持有哪些代幣 ID。

此函式也不會回報這些 NFT 的市場價值。

標準規定,查詢零地址的餘額必須失敗。

需要完整代幣清單的應用程式,可以使用事件索引或選用的列舉擴充功能。

ownerOf 函式

ownerOf
函式會傳回目前登記為特定代幣 ID 持有者的地址。

查詢不存在或無效的代幣必須失敗。

有效代幣的持有者地址不能是零地址。

ownerOf
傳回的地址,擁有合約定義的核心鏈上所有權和轉移權利。

這筆區塊鏈紀錄不會自動證明其持有者擁有著作權、商標、實體財產或合約權益。

外部權利必須透過專案的法律條款和適用法律確立。

transferFrom 函式

transferFrom
函式會將 NFT 從目前持有者轉移至另一個地址。

呼叫者必須是持有者、該代幣的已核准地址,或持有者授權的操作者。

提供的傳送者地址必須與合約目前記錄的持有者一致。

接收者不能是零地址。

此函式不會檢查接收方智能合約是否知道如何管理 NFT。

透過

transferFrom
將 NFT 轉移至不相容的合約,可能導致 NFT 無法取回。

接收者是合約時,通常應優先使用安全轉移。

safeTransferFrom 函式

ERC-721 包含兩種版本的

safeTransferFrom
。

其中一種版本接受傳送者、接收者和代幣 ID。

另一種版本還接受一個 bytes 欄位,其中可包含應用程式專用資料。

兩種版本都會執行標準的所有權和授權檢查。

接收者是智能合約時,NFT 合約會呼叫接收者的

onERC721Received
函式。

接收者必須傳回指定的選擇器,否則整筆轉移會回復。

這項檢查可降低 NFT 被意外傳送至無法正確接收 NFT 的合約之風險。

但這不代表接收者一定安全,也不保證 NFT 日後可以提領。

什麼是 ERC-721 接收者?

ERC-721 接收者是實作

onERC721Received
的智能合約。

回呼會收到操作者、前一位持有者、代幣 ID 和選用附加資料等資訊。

相容的接收者會傳回預期的選擇器,通常表示為

0x150b7a02
。

若傳回值錯誤或回呼回復,安全轉移就會失敗。

目前的 ERC-721 實作文件包含接收者介面,以及供需要接收 NFT 的合約使用的基本接收者工具。

接收者在記錄存入資產或授予權益前,應確認觸發回呼的 NFT 合約。

ERC-721 核准

ERC-721 核准讓 NFT 持有者在不立即轉移所有權的情況下,委派轉移權限。

代幣專屬核准適用於單一代幣 ID。

操作者核准適用於某地址在該合約中持有的所有 NFT。

核准會記錄在鏈上,只要仍有效,就可以在不取得持有者另一個簽章的情況下使用。

使用者應將 NFT 核准請求視為敏感的金融權限。

核准不受信任的地址,可能讓獲核准方轉移有價值的 NFT。

approve 函式

approve
函式會授權一個地址轉移某個特定代幣 ID。

通常由持有者或已核准的全收藏品操作者授予此權限。

獲核准地址不會因此成為 NFT 持有者。

NFT 轉移時,代幣專屬核准會清除。

也可以將核准地址設為零地址,以清除核准。

簽署交易前,持有者應確認獲核准地址和預期代幣 ID。

getApproved 函式

getApproved
函式會傳回有效 NFT 的代幣專屬核准地址。

若不存在代幣專屬核准,通常會傳回零地址。

結果不包含全收藏品的操作者權限。

應用程式若要確認某帳戶能否轉移 NFT,也必須檢查

isApprovedForAll
。

setApprovalForAll 函式

setApprovalForAll
函式會授予或撤銷全收藏品操作者權限。

獲核准的操作者可以轉移持有者目前在該合約中持有的所有 NFT。

此核准也可能適用於持有者日後從同一收藏品收到的 NFT。

當應用程式需要管理多個 NFT 時,通常會使用這項權限。

這項權限的範圍遠大於核准單一代幣 ID。

只要核准仍有效,惡意操作者就可能轉走所有受影響的 NFT。

將錢包與網站中斷連線,不會撤銷已記錄在區塊鏈上的核准。

isApprovedForAll 函式

isApprovedForAll
函式會回報某操作者是否獲授權管理持有者在一個收藏品中的 NFT。

此函式會傳回

true
或
false
。

在一個 ERC-721 合約中的核准,不會授予管理另一個合約中 NFT 的權限。

使用者應檢查目前有效的操作者權限,並撤銷不再需要的存取權。

ERC-721 事件

ERC-721 定義了

Transfer
、
Approval
和
ApprovalForAll
事件。

這些事件紀錄可協助錢包、區塊鏈瀏覽器、資料索引器和應用程式追蹤 NFT 活動。

智能合約成功執行後,事件會儲存在交易收據中。

解讀事件時,應一併考量發出事件的合約。

惡意合約也可能發出名稱相同的事件,但不代表它是合法的 NFT 收藏品。

Transfer 事件

Transfer
事件會記錄前一位持有者、新持有者和代幣 ID。

一般 NFT 轉移會使用非零的傳送者和接收者地址。

鑄造通常會以從零地址轉移至第一位持有者的方式表示。

銷毀通常會以從持有者轉移至零地址的方式表示。

出現鑄造事件不代表供應量有限,也不代表無法再建立其他代幣。

應用程式可以透過索引轉移事件,重建 NFT 大部分的所有權歷史。

Approval 與 ApprovalForAll 事件

Approval
事件會記錄某個特定 NFT 的權限。

ApprovalForAll
事件會記錄是否啟用或停用全收藏品操作者權限。

這些事件不代表 NFT 所有權發生變更。

監控核准狀態有助於使用者和安全系統偵測非預期權限。

撤銷核准不會逆轉核准有效期間內已完成的轉移。

ERC-165 介面偵測

每個符合規範的 ERC-721 合約都必須支援 ERC-165 介面偵測。

ERC-165 標準定義了

supportsInterface
函式。

ERC-721 核心介面 ID 為

0x80ac58cd
。

符合規範的合約在被詢問是否支援此識別碼時,應傳回

true
。

選用擴充功能各自具有不同的介面 ID。

介面偵測有助於應用程式避免呼叫不受支援的函式。

合約聲稱支援某介面,不代表其實作正確或安全。

ERC-721 中繼資料

ERC-721 包含選用的中繼資料擴充功能。

此擴充功能加入

name
、
symbol
和
tokenURI
函式。

其 ERC-165 介面 ID 為

0x5b5e139f
。

收藏品名稱和代號由合約開發者選定,不保證具有唯一性。

複製名稱或代號,不代表合約屬於原始收藏品。

合約地址仍是主要的技術識別碼。

tokenURI 的運作方式

tokenURI
函式會傳回與有效代幣 ID 相關聯的 URI。

URI 通常會指向 JSON 中繼資料文件,其中包含顯示名稱、描述、圖片、動畫和屬性。

中繼資料可以儲存在傳統伺服器、去中心化內容網路,或直接儲存在鏈上。

ERC-721 標準允許中繼資料變更。

若實作和儲存系統允許,專案可以更新 URI、修改其參照的檔案,或變更外部位置提供的內容。

使用者應確認中繼資料是否可變、是否永久儲存,或是否由管理員控制。

擁有 NFT 不會自動確保外部圖片在託管服務停止運作後仍能保存。

中繼資料更新事件

ERC-721 本身未提供適用於每次中繼資料變更的標準化事件。

選用的 ERC-4906 中繼資料更新擴充功能加入了

MetadataUpdate
和
BatchMetadataUpdate
事件。

這些事件會通知應用程式,應重新取得單一代幣或一段代幣 ID 範圍的更新後中繼資料。

ERC-4906 介面 ID 為

0x49064906
。

中繼資料更新事件可改善同步,但不保證新中繼資料準確或永久保存。

ERC-721 列舉功能

選用的列舉擴充功能可讓使用者透過鏈上函式查詢 NFT 供應量與持有清單。

其介面 ID 為

0x780e9d63
。

此擴充功能加入

totalSupply
、
tokenByIndex
和
tokenOfOwnerByIndex
。

totalSupply
函式會回報合約追蹤的目前有效 NFT 數量。

索引函式可讓呼叫者取得收藏品中的代幣 ID,或某位持有者所持有的代幣 ID。

列舉功能會增加儲存寫入和 Gas 費。

目前的實作指引指出,許多合約因這類額外負擔而未採用此功能。

鏈下應用程式也可以透過索引

Transfer
事件重建所有權資訊。

鑄造 ERC-721 代幣

鑄造會建立新的有效代幣 ID,並將其指派給第一位持有者。

ERC-721 核心標準未定義哪些人可以鑄造,也未規定如何提出鑄造請求。

收藏品可以開放公開鑄造、限制只有授權角色能鑄造、要求付款、使用允許名單,或在部署時建立所有 NFT。

鑄造通常會發出一個從零地址開始的

Transfer
事件。

安全鑄造會檢查接收方智能合約是否支援 ERC-721 接收者介面。

使用者在依據稀缺性宣稱採取行動前,應檢查最大供應量、鑄造權限、升級權限和管理員控制權。

銷毀 ERC-721 代幣

銷毀會將 NFT 從有效所有權紀錄中移除。

ERC-721 核心介面不要求提供公開銷毀函式。

收藏品可以允許持有者、已核准操作者、管理員或協議邏輯銷毀代幣。

銷毀通常會發出一個轉移至零地址的

Transfer
事件。

銷毀 NFT 不一定會刪除鏈下中繼資料或抹除先前的區塊鏈歷史。

使用者應確認銷毀是否為永久操作,以及該實作是否可能再次建立相同 ID 的代幣。

ERC-721 版稅

創作者版稅不屬於 ERC-721 核心標準的一部分。

選用的 ERC-2981 NFT 版稅標準提供一種方法,可回報銷售價格對應的版稅接收者和建議金額。

ERC-2981 會傳達版稅資訊,但不會強制每次轉移或每個應用程式都支付版稅。

若實作支援,收藏品可以設定預設版稅或個別代幣的版稅。

如果合約授予管理員相關權限,版稅接收者和費率可能會變更。

使用者不應假設每次 ERC-721 轉移都包含可強制執行的創作者付款。

ERC-721 與 ERC-20 的差異

ERC-20 用於可互換代幣餘額,ERC-721 則用於可個別識別的 NFT。

ERC-20 帳戶可以持有可分割數量的單一代幣。

ERC-721 帳戶持有不同的代幣 ID。

ERC-721 的

balanceOf
函式會計算 NFT 數量,而非回報某個代幣 ID 所對應的數量。

ERC-721 不使用標準 decimals 欄位,因為每個 NFT 通常都以完整代幣的形式轉移。

這兩種標準的核准和轉移模型也不同。

ERC-721 與 ERC-1155 的差異

ERC-721 透過單一 NFT 收藏品合約,代表個別持有的代幣 ID。

ERC-1155 多代幣標準允許一個合約管理多個代幣 ID,並為各 ID 記錄不同的數量餘額。

ERC-1155 代幣 ID 可以代表可互換、半同質化或獨特資產。

一個地址可以持有同一 ERC-1155 代幣 ID 的多個單位。

依照標準模型,一個有效的 ERC-721 代幣 ID 只有一位持有者。

ERC-1155 也支援標準化批次轉移,而 ERC-721 通常一次處理一個 NFT。

應採用哪一種標準,取決於專案的所有權和庫存管理需求。

ERC-721 的應用場景

數位藝術收藏品可以使用 ERC-721 代幣記錄個別作品的所有權。

區塊鏈遊戲可以使用 NFT 代表角色、土地、裝備或其他獨特道具。

會員制度可以使用 NFT 代表存取權或社群身分。

金融應用程式可以將獨特的債務部位、保單、流動性部位或債權代幣化。

活動系統可以發行具有個別識別碼且轉移規則受控的門票。

專案可以將 NFT 與實體產品連結,但智能合約本身無法驗證實體物品的持有狀態或法律所有權。

ERC-721 代幣也可以代表憑證,但不應將敏感個人資料公開儲存在公開區塊鏈上。

NFT 所有權與著作權

擁有 ERC-721 代幣代表區塊鏈合約將該代幣 ID 的持有者記錄為某個地址。

這不會自動轉移相關藝術品或媒體的著作權。

著作權和商業使用權取決於創作者的授權、銷售協議和適用法律。

專案可能授予廣泛商業權利、有限的個人使用權,或不授予任何額外智慧財產權。

中繼資料也可能指向代幣發行者無權使用的內容。

買家應檢視專案的法律條款,而不是假設持有代幣就能取得所有可能的權利。

ERC-721 核准的風險

惡意核准請求是 NFT 持有者面臨的主要安全風險之一。

網路釣魚應用程式可能在要求

setApprovalForAll
時,將交易描述為帳戶驗證或存取確認。

核准後,操作者無須再次取得簽章,就能從該收藏品轉移持有者的 NFT。

代幣專屬核准同樣可能讓單一有價值的 NFT 暴露於風險中。

簽署前,使用者應檢查合約地址、操作者地址、權限類型和所選網路。

與不熟悉的應用程式互動後,應檢查先前授予的權限。

安全轉移與重入風險

安全 NFT 轉移在接收者是智能合約時,會呼叫外部程式碼。

在第一個操作完全結束前,接收者可能回呼原始應用程式。

這種行為可能在鑄造、銷售、借貸、質押、託管或提領合約中造成重入漏洞。

官方 Solidity 安全指引建議,在預期邏輯允許的情況下,先完成檢查和重要狀態變更,再進行外部互動。

開發者也應考量跨函式重入,因為惡意接收者可能呼叫另一個已公開的函式。

應以惡意合約測試接收者回呼,而不是將其視為簡單通知。

中繼資料安全風險

NFT 顯示的內容可能依賴區塊鏈以外的資料。

外部伺服器可能停止運作、變更回應或移除檔案。

購買後,可變 URI 可能指向不同內容。

中繼資料可能包含誤導性描述、抄襲的藝術品、隱藏外部連結或不安全的檔案格式。

去中心化儲存可提升持續保存能力,但內容仍取決於持續可用性和識別碼是否正確。

完全鏈上中繼資料可降低對外部託管的依賴,但可能增加部署和更新成本。

合約真偽風險

任何人都可以部署名稱、代號、圖片或代幣 ID 看似熟悉的 ERC-721 合約。

介面相容不代表收藏品是真品。

使用者應透過專案的可信來源,確認區塊鏈網路和完整合約地址。

已驗證的原始碼發布可顯示程式碼與合約的對應關係,但不保證商業行為誠信或經濟設計安全。

也應檢查代幣歷史、創作者聲明、管理員權限和中繼資料控制權。

可升級的 ERC-721 合約

ERC-721 合約可能使用代理合約,讓部署後仍可變更其邏輯。

升級可以修復錯誤或加入功能。

升級也可能變更鑄造、轉移、核准、中繼資料、版稅、暫停或銷毀行為。

升級權限遭到入侵時,攻擊者可能安裝會影響 NFT 所有權的惡意邏輯。

使用者應確認升級權由誰控制、需要多少簽章,以及是否設有時間鎖。

即使某收藏品被描述為去中心化,仍可能包含權限強大的管理員角色。

開發者如何實作 ERC-721

除非有必要採用自訂設計,否則開發者應使用經審查且持續維護的實作。

目前的 ERC-721 開發指南介紹核心實作,以及中繼資料、列舉、銷毀、暫停、版稅、投票和其他用途的選用擴充功能。

鑄造權限應符合收藏品已公布的供應量規則。

轉移和核准應拒絕未授權呼叫者和無效地址。

若代幣可能直接發行至智能合約,應使用安全鑄造。

開發者應測試惡意接收者、重入、無效代幣 ID、核准清除、操作者權限、銷毀和介面偵測。

管理功能應採用清楚的存取控制,並發出有用的事件。

如何評估 ERC-721 NFT

第一步是確認網路、合約地址和代幣 ID。

第二步是確認合約支援 ERC-721 核心介面。

第三步是檢查目前持有者和轉移歷史。

第四步是檢視代幣專屬和全收藏品核准。

第五步是確認中繼資料和連結媒體的儲存方式。

第六步是確認鑄造、銷毀、暫停、凍結和升級權限由誰掌握。

第七步是確認供應量和稀有度宣稱是否能在鏈上驗證。

第八步是檢視稽核和原始碼,但不要將其視為保證。

第九步是了解 NFT 附帶哪些法律或商業權利。

第十步是在承擔有價值資產的風險前,先以低價值交易測試不熟悉的合約。

ERC-721 轉移範例

假設 Alice 在某 ERC-721 收藏品中持有代幣 ID 101。

合約的

ownerOf
函式會傳回 Alice 的地址。

Alice 決定將 NFT 傳送至一個專門安全保管 NFT 的合約。

她的錢包會呼叫

safeTransferFrom
,並提供 Alice 的地址、接收者合約和代幣 ID 101。

ERC-721 合約會檢查 Alice 是否持有 NFT,且是否獲授權轉移該 NFT。

合約會更新所有權紀錄,並呼叫接收者的

onERC721Received
。

接收者會驗證收藏品、操作者、前一位持有者和代幣 ID。

如果接收者傳回正確的選擇器,轉移就會完成,NFT 合約也會發出

Transfer
事件。

如果接收者拒絕 NFT,整筆交易就會回復,Alice 仍是持有者。

常見的 ERC-721 錯誤

常見錯誤之一,是以為收藏品名稱能唯一識別 NFT。

另一個錯誤是未檢查操作者地址,就授予全收藏品的操作者存取權。

第三個錯誤是認為將錢包中斷連線就能移除鏈上核准。

第四個錯誤是使用

transferFrom
將 NFT 傳送至未知合約。

第五個錯誤是以為安全接收就能保證日後可提領。

第六個錯誤是未檢查中繼資料的儲存方式,就假設其永久不變。

第七個錯誤是以為 ERC-721 會自動強制收取版稅。

第八個錯誤是以為每個收藏品都支援鏈上列舉。

第九個錯誤是混淆 NFT 所有權與著作權或實體資產所有權。

第十個錯誤是將符合標準視為 NFT 真實、有價值或安全的證明。

常見問題

ERC-721 代表什麼?

ERC-721 是 Ethereum 標準,用於定義非同質化代幣的所有權、轉移、核准和介面規則。

ERC-721 和 NFT 是同一回事嗎?

ERC-721 是 NFT 技術標準,而 NFT 是更廣泛的通稱,也包括依其他標準建立的代幣。

ERC-721 是可互換的嗎?

不是,每個有效的 ERC-721 代幣 ID 都會個別追蹤,並可能具有不同屬性和價值。

ERC-721 介面 ID 是什麼?

ERC-721 核心介面 ID 為

0x80ac58cd
。

如何識別 ERC-721 NFT?

NFT 必須由區塊鏈網路、智能合約地址和代幣 ID 共同識別。

balanceOf 會傳回什麼?

它會傳回某地址在一個 ERC-721 合約中持有的 NFT 數量。

ownerOf 會傳回什麼?

它會傳回有效代幣 ID 目前持有者的地址。

transferFrom 和 safeTransferFrom 有什麼不同?

safeTransferFrom
會檢查接收合約是否支援 ERC-721 接收者回呼,而
transferFrom
不會。

ERC-721 NFT 可以傳送至智能合約嗎?

可以,但通常應使用安全轉移,要求接收者確認其能夠接收 NFT。

approve 有什麼作用?

它會授予一個地址轉移某個特定 NFT 的權限。

setApprovalForAll 有什麼作用?

它會授權操作者管理持有者在該 ERC-721 合約中持有的所有 NFT。

操作者核准會自動到期嗎?

不會。標準操作者核准會持續有效,直到持有者撤銷,或自訂合約邏輯改變其效力。

NFT 轉移時會清除代幣專屬核准嗎?

會,NFT 轉移時會清除代幣專屬核准。

ERC-721 是否要求提供中繼資料?

不要求。中繼資料介面是選用功能,但大多數 NFT 收藏品都有實作。

ERC-721 中繼資料可以變更嗎?

可以,除非合約和儲存系統提供可驗證的不可變性保證,否則中繼資料可能變更。

每個 ERC-721 合約都有 totalSupply 嗎?

沒有,

totalSupply
屬於選用的列舉擴充功能。

ERC-721 有定義鑄造方式嗎?

此標準透過所有權事件識別鑄造行為,但不要求特定的公開鑄造函式或供應量政策。

ERC-721 有定義銷毀方式嗎?

沒有,銷毀函式為選用功能,取決於個別實作。

ERC-721 會強制收取版稅嗎?

不會。版稅需要另外的邏輯或標準,而且版稅資訊不會自動強制付款。

持有 ERC-721 代幣會取得著作權嗎?

不會,智慧財產權取決於適用授權和法律協議。

ERC-721 合約可以升級嗎?

有些合約可以透過代理系統升級,有些則在部署後不可變更。

ERC-721 NFT 可以分割嗎?

分割所有權需要獨立合約或代幣機制,因為 ERC-721 核心代幣是以完整單位持有。

ERC-721 核准可能被用來竊取 NFT 嗎?

可能,惡意獲核准地址可以轉移其權限涵蓋的 NFT。

符合 ERC-721 標準能證明真偽嗎?

不能。任何人都可以部署相容合約,因此必須另外驗證收藏品地址和發行者。

ERC-721 的主要優點是什麼?

其主要優點是將所有權和轉移行為標準化,讓許多加密貨幣應用程式能與獨特的代幣化資產互動。

結論

ERC-721 是 Ethereum 用來代表可個別識別之非同質化代幣的主要標準。

它定義了共通的所有權查詢、轉移、核准、操作者權限、事件和介面偵測規則。

每個 NFT 都由其區塊鏈網路、合約地址和代幣 ID 唯一識別。

核心介面 ID 為

0x80ac58cd
。

選用擴充功能可提供中繼資料、鏈上列舉、版稅資訊和中繼資料更新通知。

此標準不會自動定義鑄造權限、最大供應量、銷毀權、版稅、中繼資料永久性、法律所有權或收藏品真偽。

使用者與 NFT 互動前,應確認合約地址、檢查核准、檢視中繼資料儲存方式,並了解管理員權限。

開發者應使用持續維護的實作,確保所有授權路徑安全,並將安全轉移接收者回呼視為可能帶有惡意的外部呼叫。

ERC-721 的互通性讓 NFT 更容易在加密貨幣應用程式之間使用,但技術相容性不會消除智能合約、網路釣魚、中繼資料、法律或市場風險。

了解 ERC-721 有助於使用者區分區塊鏈上的獨特代幣所有權,以及與該代幣相關的更廣泛內容、權利、價值和承諾。
ETF單週失血6.79億,花旗看多BTC至11.3萬!
ETF單週失血6.79億,花旗看多BTC至11.3萬!ETF單週失血6.79億,花旗看多BTC至11.3萬!
機構在賭什麼?