ERC721與ERC1155的區別 (詳細)


1.同質與非同質

ERC-721:僅限於非同質

ERC-1155:允許同質和非同質,允許像半同質代幣這樣的新概念幣,例如,同質代幣可以“轉化”為非同質代幣,反之亦然。

2.批量傳輸

ERC-721:只支持每次傳輸一個代幣

ERC-1155:支持在單個交易中批量傳輸多個代幣ID。

(由於每個以太坊交易大約要15-30秒的時間,因此ERC-721需要花很長時間來傳輸代幣,而ERC-1155可以在一個區塊中發送數百個不同的代幣。

優化的ERC-1155順利通過測試,每秒可傳輸150-200個代幣!)

3.智能合約單一,不造成數據浪費

ERC-721:要求為每種新型代幣部署一個新的智能合約(例如,創建一個CryptoKitties的合約,再另外創建一個CryptoCuties的合約等)

ERC-1155:一個智能合約可容納無數類型的代幣。

注:無法將ERC-1155鎖定在不支持ERC-1155的合約中。

只能將代幣發送給符合ERC-1155的合約!從而防止意外的代幣丟失。如果收件人拒收ERC-1155代幣,系統會立即恢復你的代幣。

ERC-721試圖實現ERC-1155的功能,但無疾而終,ERC-721的標准中包含了遺留的“不安全”函數。如果錢包轉賬不安全,你有可能永遠丟失自己的代幣。

4.發送代幣觸發智能合約

向智能合約發送ERC-1155代幣可觸發區塊鏈上的一系列函數和事件。例如,交易所允許用戶直接發送代幣,自動瞬時地在鏈上交換其他代幣。

由於這些代幣嚴格遵循“onERC1155Received”規則,因此ERC-1155百分百可靠。

但無法用這種方法發送ERC-721代幣,因為如果錢包不能安全發送代幣到交易所,用戶將遭受損失。

這意味着dapp無法依賴於ERC-721接收器正常工作。由於ERC-721不可靠,無法創建這些應用。

5.本地化

ERC-721:只支持一種語言

ERC-1155:支持將所有元數據(例如代幣名稱、說明、甚至代幣圖像)語言本地化,使所有代幣都通用。

6.遺留元數據

ERC-721:保留了像“symbol”和“name”這樣的遺留元數據,但這對於許多現代代幣來說是不必要的。

ERC-1155:將所有元數據保存到web或IPFS上的URI(“統一資源標識符”的簡稱)中。

7.ID替換

ERC-721:由於只支持靜態元數據,因此每個代幣ID必須由智能合約存儲和管理其元數據URI。

ERC-1155:合約可以指向無數的代幣URI,無需在鏈上存儲任何額外的數據。甚至可以用來指向一個web服務,該服務為數據庫中的每個代幣動態生成代幣JSON。

8.豐富事件日志

ERC-721:可發出轉移和批准事件。

ERC-1155:可發送鑄幣、銷毀、傳輸、批准和更改元數據的標准事件。使生態系統受益,例如深度分析代幣和代幣瀏覽器。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM