【區塊鏈知識】一文讀懂甚麼是 NFT 與代幣 | ERC-20/ERC-721/ERC-1155

更新於 發佈於 閱讀時間約 10 分鐘

前言

在上一篇文章中,我們先提了以太坊的基礎協議,還有 EIP 與 ERC 是甚麼,那這一篇文章我們就來更深度解析在區塊鏈的世界中最常見的三種代幣協議 ERC-20 、 ERC-721 、 ERC-1155 吧,這當中包含現在最紅的 NFT ,我們在較早的時候曾經從應用層面去嘗試理解甚麼是 NFT ,那在這篇就會是更進階的,讓你更瞭解 NFT 背後的代幣協議是如何被定義出來的。

一、ERC-20 代幣 | Fungible Token

所謂的 ERC-20 就是一般會在交易所看到的代幣,又稱為 Fungible Token 同質化代幣,這種代幣就像是新台幣與美元那樣,你的1000元鈔票與我的1000元鈔票基本上是一樣的,就算我們今天交換了彼此的鈔票,它的價值也不會有變化,我們仍然可以用不同的鈔票去超商購買1000元等值的商品。
在區塊鏈的世界中發行的代幣,通常最小單位不會是1顆代幣,例如以太坊中的通用貨幣以太幣的最小單位稱為「wei」,它代表的價值是10的負18次方顆以太幣,也就是說一顆以太幣可以被分割為 1,000,000,000,000,000,000 wei ,這就像美元底下還有一美分的硬幣,它的價值是0.01美元,所以一美元可以被分割為100美分。
對於 ERC-20 有了基本認識之後,我們可以往下看看官方文檔如何定義它,網址是:https://eips.ethereum.org/EIPS/eip-20
ERC-20 最重要的觀念大概是要知道,當代幣需要被轉移時,都要告訴智能合約「誰 (From)」要轉帳「多少錢 (Value)」「給誰 (To)」這三個參數。

二、ERC-721 代幣 | Non-Fungible Token, NFT

沒錯!ERC-721 就是傳說中的 NFT ,中文是非同質化代幣,我們之前只從應用面介紹過它,然而它也是一種代幣協議,我們看到的這些 NFT 本質上還是一個代幣,與 ERC-20 不同之處在於每個代幣在生成時都會被賦予一個獨一無二的 ID,就因為這個 ID 不同,導致每個 NFT 雖然都是出自同一個合約之中,價值卻不相同的情況,就好像學校的制服一樣,起初販賣的時候可以被當作 ERC-20 同質化代幣的概念,每一件制服都是一樣的,不過當這些制服分發到學生手上後,他們就必須在上面刻上自己的學生編號,自此之後每一件衣服都是 ERC-721 非同質化代幣的概念,你的制服與我的制服不再相同,甚至如果是學校風雲人物的制服,搞不好價值會比其他同學的制服還要高,這就是非同質化代幣的概念。
對於 ERC-721 有了基本認識之後,我們可以往下看看官方文檔如何定義它,網址是:https://eips.ethereum.org/EIPS/eip-721
不管在最重要的 轉帳交易(Transfer) 或 授權(Approval) 等 Event 與 ERC-20 最大的差別就是都要多帶一個 ID 的參數,這個 ID 就像上面舉製服的例子一般,你要知道自己的 NFT 編號為多少,在轉帳時告訴智能合約「誰 (From)」要把手上 「ID 編號多少的 NFT (tokenId)」 轉帳「給誰 (To)」,這個例子可以清楚的看到不需要告訴智能合約要轉出多少個 NFT 了,因為不需要填入「Value」的參數,換句話說一次只能轉出一個 NFT。

三、ERC-1155 代幣 | Multi-Token (Semi-Fungible Token)

自從非同質化代幣開始運作後,開始有人發現如果我要同時鑄造幾千幾萬份 NFT 的話,使用 ERC-721 就要跟著呼叫智能合約幾千幾萬次,每一次的使用都算是一筆鏈上交易,而這麼多筆交易在以太坊上轉帳可不便宜,一個新的 NFT 專案光是鑄造費就燒光光了。
如果是常見的 PFP (Profile Picture)或具有通行證賦能之類的 NFT 可能硬著頭皮還是鑄造的出來,但要如果你是玩過遊戲的就會知道,通常遊戲在遊玩過程中玩家通常會無止境的產出與消耗遊戲道具,這樣看來區塊鏈遊戲相關的開發商如果要走遊戲道具去中心化這條路,讓這些遊玩過程中可以被無止境產出與銷毀的遊戲道具上鏈,自行負擔會是相當大的成本,轉嫁給玩家的話恐怕玩家們都玩不起離開了…
於是在這樣的情況下,出現了 ERC-1155 代幣,它是可以一次性鑄造一堆一模一樣的代幣,但又保有 ID 的概念,這樣講蠻抽象的,這裡用一般法幣舉個例子應該就會很清楚,新台幣最常見的面額有 1、5、10、20、50 元的硬幣,在 ERC-1155 裡面,我們可以定義 ID 為 1 的代幣為一元硬幣、ID 為 2 的代幣為五元硬幣、ID 為 3 的代幣為十元硬幣以此類推,當央行想要鑄造一萬顆一元硬幣時,就只要對呼叫智能合約鑄造 ID 為 1 的代幣一萬個,這樣的呼叫方式就類似於鑄造 ERC-20 代幣,可以一次將所需要的代幣數量鑄造出來,不用像 ERC-721 那樣一個一個鑄造,但同時同一個合約底下又可以透過不同 ID 的切換,鑄造出不同的代幣出來,我想這就是為甚麼 ERC-1155 代幣會被稱為 Multi-Token 或 Semi-Fungible Token (半同質化代幣)了吧。
對於 ERC-1155 有了基本認識之後,我們可以往下看看官方文檔如何定義它,網址是:https://eips.ethereum.org/EIPS/eip-1155
實際要轉帳 ERC-1155 代幣時,需要告訴智能合約「誰 (From)」要把手上「多少個 (Value)」「ID 編號為多少的 NFT (tokenId)」轉帳「給誰 (To)」,從這個例子就可以明顯的看出本質上 ERC-1155 代幣與 ERC-721、ERC-20 的差別在於,每個操作動作同時會有 ID 又有 Value 的概念,要注意它還增加了「Batch」的觀念,可以將不同 ID 不同數量的 NFT 打包在一起發送,這大大地減輕了轉帳交易的手續費負擔。

四、如何大略看懂 EIP 官方文檔的內容

基本上對於智能合約開發者而言,我們最需要注意的是它有哪些 Event 以及哪些 Function,以及後面應該代入的參數是甚麼。
1. Event 就是我們一定要有的東西,那會是該代幣協議大家都應該要有的基本功能,例如在 ERC-20 裡面,Event 分為 Transfer 與 Approval。
Transfer 不難理解,就是代幣轉帳功能。
Approval 則是簽署,對於有用過錢包的人就會知道當你要去使用一些去中心化應用程式(Dapps)時,錢包都會跳出來請你簽署東西,這個就是在做 Approval 的動作,當你批准了某個 Dapp 時,表示你的錢包已經授予該 Dapp 自由檢索你這個錢包地址的權限,甚至是能夠隨意匯出你的錢的權限,這就是為甚麼我們會聽到有人的熱錢包又被駭了,通常不是該熱錢包不安全,而是使用者隨便的批准了某些不懷好意的智能合約,讓它可以隨意使用我們的財產。
2. Function 則通常是一些開發者可自由選擇要不要加入的基本功能,每個 Function 的規格都是訂好的,例如在 ERC-20 之中,呼叫 decimals() 會回傳這個代幣最小的單位、呼叫 totalSupply() 會回傳這個代幣目前的總供應量、balanceOf(錢包地址)可以查詢某錢包裡面有多少顆這個智能合約的代幣等等。
3. 這些 Event 或 Function 後面要代入的參數是甚麼?
前面或多或少都有提到 From To Value 之類的東西,那個其實也寫在官方文檔中了,我們用 ERC-20 的 Transfer event 作為例子:
event Transfer(address indexed _from, address indexed _to, uint256 _value)
括弧內的東西看起來就相當直覺,當我們需要使用 Transfer 的時候會需要代入三個參數,_from、_to、_value,from 就是誰、 to 就是要給誰、value 就是給多少錢。而前面會是它的資料形態,像 from 跟 to 就都要填一個地址 (Address),而 value 是填一個不含負數的整數 (uint)。
這部分可能牽涉一些困難的程式設計,希望這樣的拆解方式會稍微讓你對於這些 EIP 文檔有更進一步的瞭解,理解這些大家講好的規範,會讓我們在使用時更加瞭解它是怎麼運作的,這樣在使用一些去中心化的服務時,就可以自行去判斷它寫的內容是不是壞壞的,能讓自己避開危險在幣圈可是很重要的生存之道呢。

廣告專區

科技隨筆即將進入新企劃了,在進到新企劃之前,如果你是科技隨筆忠實讀者但卻還沒有領到免費的 ITC 代幣空投,趕快去看看之前空投獎勵的文章,看看如何領取吧,下一次空投時間會在四月底到五月初之間 (三月以前留言的人都已經發放了哦)。
現在要領取的話,剩下兩個管道了:
1. 追蹤科技隨筆臉書粉絲專頁,並在【空投獎勵】科技隨筆讀者回饋 | 在底下留言免費領取科技幣下留下你的 Polygon 錢包地址,還有不到十個名額先搶先贏!
2. 加入 Line 社群 搶最後一個免費空投名額,先搶先贏。
再次提醒:以上這些名額額滿後活動即結束,暫時不會再添加新的免費代幣空投名額了!下次發放代幣時間會在四月底五月初,人工發放時間比較不即時敬請見諒。

延伸閱讀


最後,謝謝你在百忙之中願意抽空來花時間來看我的文章,如果還喜歡這些內容的話希望能獲得你的追蹤及小額贊助支持,讓我更有繼續寫下去的動力,也歡迎點此連結在其他平台找到我
下次見嚕 o((>ω< ))o~
為什麼會看到廣告
《科技隨筆 | 智能合約開發計畫》 智能合約開發計畫會深入淺出,從認識以太坊的協議開始出發,慢慢從最簡單的代幣到發行 NFT ,甚至是開發一些去中心化應用程式(Dapps),並做一些簡單的使用者介面讓任何人可以透過瀏覽器開啟 Web3.0 的大門。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
在這篇文章中,我們會提到 EIP 是甚麼,它的種類有哪些,還有所謂的 ERC 的代幣協議是甚麼,如果你也是想要透過寫程式的方式,在以太坊兼容的區塊鏈上發行自己的代幣或是 NFT 的話,那麼大致上瞭解 EIP 與 ERC 就會是需要的功課。
這是新年企劃的最終章,在這個月我們花了四篇文章的篇幅,慢慢討論如何利用Remix撰寫最簡單的Solidity智能合約,期望大家真的都能順利發行自己的加密貨幣,並在過年期間發送給親友們,讓他們體驗一下甚麼是錢包,並領取他們人生中第一顆加密貨幣。
本文延續上一次的程式碼,並增加錢包餘額查詢以及轉帳功能,完成後將會嘗試轉帳,若測試與查詢的結果都沒有問題的話,恭喜你完成一個可以被轉帳交易的加密貨幣,今年過年就靠它讓你在親戚朋友之間成為被眾人討論的紅人了!
在本文中,我們會開始寫一些程式,讓讀者瞭解如何利用Remix開發環境來撰寫Solidity程式,以及如何編譯、發佈智能合約。還有在發佈之後怎麼看剛剛設定的參數是否都成功被執行了,一起實作發出人生第一顆發財幣吧!
2022年的農曆新年在一月底就要登場了!說到新年或多或少一定免不了要家族團聚吃個團圓飯,又到了這個時間了,身為社畜的你想好今年要包多少紅包給家人了嗎?這次過年就逼親戚下載錢包,直接把你設計的發財幣、紅包幣、坐以待幣、大學延幣通通在過年的時候射給他們吧!
在這篇文章中,我們會提到 EIP 是甚麼,它的種類有哪些,還有所謂的 ERC 的代幣協議是甚麼,如果你也是想要透過寫程式的方式,在以太坊兼容的區塊鏈上發行自己的代幣或是 NFT 的話,那麼大致上瞭解 EIP 與 ERC 就會是需要的功課。
這是新年企劃的最終章,在這個月我們花了四篇文章的篇幅,慢慢討論如何利用Remix撰寫最簡單的Solidity智能合約,期望大家真的都能順利發行自己的加密貨幣,並在過年期間發送給親友們,讓他們體驗一下甚麼是錢包,並領取他們人生中第一顆加密貨幣。
本文延續上一次的程式碼,並增加錢包餘額查詢以及轉帳功能,完成後將會嘗試轉帳,若測試與查詢的結果都沒有問題的話,恭喜你完成一個可以被轉帳交易的加密貨幣,今年過年就靠它讓你在親戚朋友之間成為被眾人討論的紅人了!
在本文中,我們會開始寫一些程式,讓讀者瞭解如何利用Remix開發環境來撰寫Solidity程式,以及如何編譯、發佈智能合約。還有在發佈之後怎麼看剛剛設定的參數是否都成功被執行了,一起實作發出人生第一顆發財幣吧!
2022年的農曆新年在一月底就要登場了!說到新年或多或少一定免不了要家族團聚吃個團圓飯,又到了這個時間了,身為社畜的你想好今年要包多少紅包給家人了嗎?這次過年就逼親戚下載錢包,直接把你設計的發財幣、紅包幣、坐以待幣、大學延幣通通在過年的時候射給他們吧!
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
NFT本身類型類屬於功能型之虛擬通貨,與一般支付型代幣不同,NFT代幣彼此間不具有同質性,亦即各代幣的類型與價值不可互相替代,不像虛擬貨幣可以大量流通交換。課稅處理上,目前已發布NFT課稅方式之國家,大都主張NFT的所得課稅處理原則上與加密貨幣相同,本篇為LY在相關交易係如何課稅之簡單整理。
Thumbnail
这篇文章主要介绍了什么是代币?代币种类有哪些?的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 什么是代币?我们将讨论代币概念。在谈论数字货币时,您可能听说
Thumbnail
比特幣(BTC)和以太幣(ETH)是兩種不同類型的虛擬貨幣,在虛擬貨幣中扮演著重要的角色。然而,虛擬貨幣在日常生活中的應用仍然有限,受到詐騙等負面影響,但隨著以太坊平臺的發展和以太坊現貨 ETF 的上市,虛擬貨幣的潛力和未來仍然值得期待。
Thumbnail
比特幣是一種虛擬貨幣,具有去中心化、透明和不可篡改的特點。隨著Ordinals協議、BRC-20代幣標準等的誕生,比特幣的使用場景逐漸擴大。擴容方案和基礎建設項目的發展也為比特幣生態帶來更多可能性。本文分析了資產發行協議、擴容解決方案以及基礎建設項目對比特幣生態發展的影響。
Thumbnail
瞭解虛擬貨幣市場發展過程與趨勢,以及各個虛擬貨幣的特色和使用場景。投資時需留意相關生態、交易和社群活躍程度,同時應對虛擬貨幣的技術資料和說明書做詳細瞭解。
Thumbnail
ERC-404是蝦米碗糕? 根據這篇文章表示: ERC-404是一個新的、實驗性的以太坊代幣標準,由匿名創建者"ctrl"和"Acme"開發。它結合了ERC-20(代表可替代代幣)和ERC-721(代表非同質化代幣,即NFT)的特點,創建了一種「半同質化」的數字資產。ERC-404的獨特之處在於
Thumbnail
楊懂:接下來我們進入第四章:2024前十大加密貨幣 (原文是TOP 10 CRYPTO MONIES OF 2024。可能會有人有疑問為什麼不用Top 10 Cryptocurrencies?可藤是因為在金融和法律領域中,"monies" 這個詞經常被用來指代“貨幣”的複數形式,特別是當涉及到多種不
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
NFT本身類型類屬於功能型之虛擬通貨,與一般支付型代幣不同,NFT代幣彼此間不具有同質性,亦即各代幣的類型與價值不可互相替代,不像虛擬貨幣可以大量流通交換。課稅處理上,目前已發布NFT課稅方式之國家,大都主張NFT的所得課稅處理原則上與加密貨幣相同,本篇為LY在相關交易係如何課稅之簡單整理。
Thumbnail
这篇文章主要介绍了什么是代币?代币种类有哪些?的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 什么是代币?我们将讨论代币概念。在谈论数字货币时,您可能听说
Thumbnail
比特幣(BTC)和以太幣(ETH)是兩種不同類型的虛擬貨幣,在虛擬貨幣中扮演著重要的角色。然而,虛擬貨幣在日常生活中的應用仍然有限,受到詐騙等負面影響,但隨著以太坊平臺的發展和以太坊現貨 ETF 的上市,虛擬貨幣的潛力和未來仍然值得期待。
Thumbnail
比特幣是一種虛擬貨幣,具有去中心化、透明和不可篡改的特點。隨著Ordinals協議、BRC-20代幣標準等的誕生,比特幣的使用場景逐漸擴大。擴容方案和基礎建設項目的發展也為比特幣生態帶來更多可能性。本文分析了資產發行協議、擴容解決方案以及基礎建設項目對比特幣生態發展的影響。
Thumbnail
瞭解虛擬貨幣市場發展過程與趨勢,以及各個虛擬貨幣的特色和使用場景。投資時需留意相關生態、交易和社群活躍程度,同時應對虛擬貨幣的技術資料和說明書做詳細瞭解。
Thumbnail
ERC-404是蝦米碗糕? 根據這篇文章表示: ERC-404是一個新的、實驗性的以太坊代幣標準,由匿名創建者"ctrl"和"Acme"開發。它結合了ERC-20(代表可替代代幣)和ERC-721(代表非同質化代幣,即NFT)的特點,創建了一種「半同質化」的數字資產。ERC-404的獨特之處在於
Thumbnail
楊懂:接下來我們進入第四章:2024前十大加密貨幣 (原文是TOP 10 CRYPTO MONIES OF 2024。可能會有人有疑問為什麼不用Top 10 Cryptocurrencies?可藤是因為在金融和法律領域中,"monies" 這個詞經常被用來指代“貨幣”的複數形式,特別是當涉及到多種不