---
title: "ERC-1155 指南：ERC-721 與 ERC-1155 比較"
description: "了解 ERC-1155 代幣標準，比較 ERC-721 與 ERC-1155 的差異，掌握各自適用的場景。"
---

# ERC-1155 指南：ERC-721 與 ERC-1155 比較

Ethereum 上新應用的出現，促使開發團隊設計出新型態的代幣標準。早期市場由 [ERC-20 代幣標準](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) 主導，這個標準定義了 DAI 或 UNI 等傳統代幣的運作方式。這種加密貨幣的處理方式將所有資產視為完全可互換（稱為同質性），概念上如同美元這類貨幣一樣運作。

然而，過去 18 個月來，NFT 吸引了市場的關注，這類代幣依賴一個較新的標準——ERC-721。這個標準允許創建獨一無二、客製化的代幣：例如收藏卡牌，或是[完全獨特、無法複製的個人頭像](https://www.larvalabs.com/cryptopunks)。

近期，加密貨幣市場的關注點轉向另一個標準，其擁有一組全新修訂的屬性——ERC-1155 代幣標準。ERC-721 對比 ERC-1155 的討論常讓團隊感到困惑，因此了解何時該使用哪一種標準相當重要。雖然 ERC-1155 是較新的標準，在技術上有一些優勢，未來可能更具優勢，但它並非嚴格意義上的升級版本，兩者在某些方面存在差異。

## NFT 簡史

為什麼這兩種代幣標準之間的選擇會成為如此令人頭痛的問題？畢竟，現今許多 NFT 專案仍持續使用 ERC-721 標準。

Ethereum 生態系一開始並不太需要新的代幣標準。畢竟，大多數人都急於使用讓 Ethereum 在早期脫穎而出、備受讚譽的智能合約功能。建立一個附帶 ERC-20 代幣的區塊鏈網路相對容易，也因此催生了許多新專案，例如 [Crypto.com](https://crypto.com/) 和 [Circle 的 USDC](https://www.circle.com/en/usdc)。

但當開發者看到智能合約功能在其他應用場景上的潛力時，[Ethereum 生態系](https://www.alchemy.com/dapps/ecosystem/ethereum) 經歷了一場劇變。與可以完全互換、運作方式類似一美元鈔票的同質化代幣不同，能為每個代幣提供唯一識別的非同質化代幣，開啟了大量新應用的可能性。

這兩種代幣標準各有其應用場景，了解它們各自的獨特屬性，有助於決定要在你的專案中採用哪一種。

## 什麼是 ERC-721 代幣標準？

ERC-721 代幣標準掀起了 NFT 熱潮。它是同類標準中的第一個，因此也是創建這類獨特代幣最受歡迎的標準。NFT 有著悠久的歷史，但連同 ERC-721 代幣標準，直到 [CryptoKitties 專案](https://www.alchemy.com/case-studies/dapper) 出現才真正引起廣泛關注。

CryptoKitties 背後的公司 [Dapper Labs](https://www.alchemy.com/dapps/dapper-labs) 於 2017 年[透過 Ethereum Improvement Proposal](https://eips.ethereum.org/EIPS/eip-721)（EIP）提出了 ERC-721。CryptoKitties 是一組可收藏、隨機生成的貓咪，可個別交易，類似電子雞或寶可夢。每隻 CryptoKitty 都是 100% 獨一無二的——無法複製，而且擁有交易紀錄，讓公眾可以確切得知這隻貓咪在其整個生命週期中的所有持有者。

<ImageBlock
  src="https://media.alchemy.com/1704634572-sea-turtle-conservation.jpg"
  alt="限量版 CryptoKitty，與 Operation Jairo 合作，為海龜保育募資。"
  width={1600}
  height={1021}
  caption="限量版 CryptoKitty，與 Operation Jairo 合作，為海龜保育募資。"
/>

除了完全獨一無二之外，以下是 ERC-721 的其他一些功能規格：

- 允許你在帳戶之間轉移 NFT，讓 NFT 可以用來交換其他貨幣。
- 允許你查詢網路上某組 NFT 的總供應量。
- 允許你查詢特定資產的擁有者。

短短四年間，基於 ERC-721 的 NFT 已經席捲整個加密貨幣生態系。相關專案範圍從[原創數位藝術品](https://www.dexerto.com/tech/top-10-most-expensive-nfts-ever-sold-1670505/)的區塊鏈所有權，售價高達數千萬美元，到[成為進入專屬社群公開會員資格的獨特頭像](https://www.rollingstone.com/culture/culture-news/bayc-bored-ape-yacht-club-nft-interview-1250461/)，再到[私人土地的碎片化所有權](https://www.entrepreneur.com/article/382816#:~:text=NFTs%20for%20fractional%20property%20ownership&text=NFTs%20can%20be%20used%20to,issuing%20tokens%20on%20the%20blockchain.)，應有盡有。

## 什麼是 ERC-1155 代幣標準？

[ERC-1155 代幣標準](https://github.com/ethereum/eips/issues/1155)由專注於遊戲區塊鏈解決方案的 [Enjin 專案](https://enjin.io/)團隊開發。Enjin 於 2019 年提出這個代幣標準，它介於 ERC-20 標準與 ERC-721 標準之間。

Enjin 發現了相對受限的 ERC-721 標準存在一些挑戰——尤其是無法進行批次轉帳。

在 ERC-721 標準中，如果要轉移多個 NFT，每個 NFT 都需要一筆獨立的交易——因為每個 NFT 都由單一智能合約代表。這導致鑄造或交易個別 NFT 時，交易成本高得驚人。ERC-1155 允許批次轉帳——在單一智能合約上處理多項資產——讓所有代幣可以一次轉移，進而降低網路壅塞，並因此降低 gas 成本。舉例來說，當使用者想把遊戲中的一千件物品賣給另一位使用者時，他或她可以使用 ERC-1155 的批次代幣轉帳功能，一次全部送出 💸。

這個多重代幣標準的另一個主要特色，是它支援同質化與非同質化代幣——因為它能夠在同一個地址與合約上支援多種狀態。實務上，這表示你可以在同一個地址上使用同質化代幣進行遊戲內付款，同時也能轉移獨特的 NFT 資產。

ERC-1155 的另一項功能是支援創建半同質化代幣（SFT）。SFT 以同質化代幣的形式交易，但一旦被兌換，就會轉變為 NFT。舉例來說，演唱會開演前的門票可能被視為同質化資產——任何一張票都能讓你獲得相同的一般入場資格。然而，演唱會結束後，門票就失去了可交易的價值，變成獨一無二的紀念品。SFT 讓這類功能能夠直接寫入門票本身的程式碼中。

最後，這個標準上的代幣轉移在發生錯誤時可以復原。在 ERC-721 標準中，如果資產被送到錯誤的地址，你無法取回。但 ERC-1155 內建了處理這個問題的功能。[安全轉帳函式](https://eips.ethereum.org/EIPS/eip-1155#safe-transfer-rules)以及其他一些規則，都是為了防止遭到濫用而設置的。

<ImageBlock
  src="https://media.alchemy.com/1704634685-artwork-by-beeple.jpg"
  alt="知名 NFT 藝術家 Beeple 的作品。"
  width={1400}
  height={788}
  caption="知名 NFT 藝術家 Beeple 的作品。"
/>

## ERC-721 對比 ERC-1155

由於具備額外的功能，ERC-1155 代幣標準在不久的將來，可能會比 ERC-721 代幣標準獲得更廣泛的應用。兩者都允許你鑄造新的 NFT，但仍有一些關鍵差異：

- ERC-1155 允許創建**半同質化代幣與非同質化代幣**，而 ERC-721 只允許後者。
- 在 ERC-1155 中，智能合約連結到多個 URI，並且**不儲存額外的中繼資料**（例如檔案名稱）。相較之下，ERC-721 僅支援針對每個代幣 ID、直接儲存在智能合約上的靜態中繼資料，這會提高部署成本並限制彈性。
- ERC-1155 的智能合約支援**無限數量的代幣**，而 ERC-721 每種代幣類型都需要一個新的智能合約。
- ERC-1155 也允許**批次轉移代幣**，可以降低交易成本與時間。使用 ERC-721 時，若要傳送多個代幣，只能一個一個進行。

## 邁向 NFT 的未來

如果你正在尋找更多學習 NFT 或打造自己專案的資源，我們已經為你準備好了！在 Alchemy，我們的主要目標之一，就是幫助區塊鏈開發者了解這個領域現有的工具，並提供資源協助你成為更優秀的開發者。以下是一些教學文章，或許能幫助你開始鑄造自己的 NFT：

<CalloutBlock>

[如何打造 NFT](https://www.alchemy.com/blog/how-to-create-an-nft)

</CalloutBlock>

<CalloutBlock>

[NFT Minter：如何打造全端 dApp](https://www.alchemy.com/blog/nft-minter-tutorial-how-to-create-a-full-stack-dapp)

</CalloutBlock>

<CalloutBlock>

[如何在你的行動錢包中查看你的 NFT](https://www.alchemy.com/blog/how-to-view-your-nft-in-your-mobile-wallet)

</CalloutBlock>

此外，我們剛推出了 NFT API，幫助你擷取這類中繼資料，而不必依賴 [web3.js](https://www.alchemy.com/dapps/web3-js) 或 [ethers.js](https://www.alchemy.com/dapps/ethers-js) 提供的有限工具集！歡迎在下方註冊候補名單。

<CalloutBlock>

[Alchemy 的 NFT API](https://www.alchemy.com/nft-api)

</CalloutBlock>

如果在開發過程中需要協助，可瀏覽 [Alchemy 支援中心](https://www.alchemy.com/support)，或從 Alchemy Dashboard 開啟支援工單。
