方格精選

【端午企劃】原來 NFT 也有客製化的規格標準 | 智能合約開發計劃 #7

閱讀時間約 7 分鐘

前言

上一篇文章中我們已經在 IPFS 上傳了自己的圖片,但是如果是使用像 OpenSea 之類的 NFT 二手交易市場,除了 NFT 對應到的多媒體(圖片、聲音、影片),一定還會看到許多不同的屬性吧!
拿這張水母 NFT 為例,它是一個 ERC-721 的 NFT,除了常見的名字與圖片網址,但它還可以有其他屬性,例如附上自己的官網連結、這張 NFT 各個零件組合起來的稀有度之類的訊息,若要設定這些東西就必須要提到上面這張圖片右下角的「Metadata」是甚麼,它怎麼運作的。

Metadata 與 JSON 格式

所謂 NFT 的 Metadata 有點像是用來描述這個 NFT 是甚麼的文件,透過 Metadata 我們就可以快速知道這個 NFT 的名稱是甚麼(“name”)、一段話敘述這個 NFT 的大綱(“description”)、圖片放在哪個網址(“image”)等等的相關資訊,當然如果 NFT 的 Metadata 沒有固定寫法的話,大家都可以隨意撰寫自己的文件,可能會導致你發的 NFT 我看不懂,我發的 NFT 你也看不懂,所以當初在定義 EIP-721EIP-1155 時,官方文檔就有寫道 Metadata 的格式,這個資料格式是一種網路傳輸時常見的資料格式叫「JSON」,如果你從來沒看過 JSON 也不用害怕,它的格式非常的簡單易懂。
JSON(JavaScript Object Notation) 是寫網頁程式時常見語言 JavaScript 中用來表示物件的一種格式,我們只是要拿來做 Metadata 而已,其實不用完全去瞭解它在幹嘛,只要會登記學生成績,你就會 JSON!
如果你是小老師,全班考完試老師改完考卷後一定會遇到要登記成績的時候吧,這時候假設老師希望我們以每位同學為單位,將他們各科成績填寫上去,做為學生個別的成績單,可能會長成這樣:
JSON 格式中分為 key 跟 value,key 就會是標頭的欄位,value 則是該欄位的值,所以將上方表格轉換成 JSON 格式的話,會長得像這個樣子:
{
"姓名" : "Alice",
"國文" : 90,
"英文" : 80,
"數學" : 70
}
看完之後應該不難理解,所謂的 key 是表格中最上面的標題,value 是這個標題底下的值,一組資料會是 “key” : “value” 的形式做儲存。
其實像這種可以轉換成表格的東西,已經可以當作是一種簡易的資料庫來看待了,對於我們要填 NFT 的 Metadata 也是類似的用法,如果要填圖片網址就會寫 “image” : “#NFT的圖片網址…”, “image” 就會是 key 值;”#NFT的圖片網址” 就是 value 值了。

OpenSea 支援的 Metadata

直到撰文當下,OpenSea 仍然是目前最大的 NFT 二手交易市場,官方有提供一份關於 Metadata 的標準規格可以讓我們開發者參考看看,網址是:https://docs.opensea.io/docs/metadata-standards
當中有個表格,指的是 NFT 的屬性,對於挑幾個我覺得比較用得到的來講一下,Metadata 不只有這些,但對於這次要開發的 NFT 我想應該就夠用了。
1. image: 就是這個 NFT 圖片儲存的網址,除了使用 HTTP 以外也有支援 IPFS,我們在上篇文章已經存放圖片在 IPFS 上了,所以可以直接用那個網址來填值。
2. external_url: 外部連結網址,可以設定讓它連結到我們自己的網站或是這個專案的官網,如果有設定這個 Metadata,在 NFT 的頁面會多一個外部連結的按鈕。
3. name: 這個 NFT 專案的名稱。
4. description: 這個 NFT 專案的概述。
5. attributes: NFT 的屬性,當你發行的 NFT 是用多個零件隨機拼湊起來的時候就具有不同稀有度,設定 attributes 可以一目了然的看出各個 NFT 的稀有度,但由於這次我們只是要發一張端午節圖片的 NFT ,所以我不需要去設定它。
6. animation_url 與 youtube_url: 這些都是附加的網址,假設專案有設計一些宣傳影片也可以這樣放上來。

實作 Metadata 的 .json 檔

我拿幾個 Metadata 為例實作一個 JSON 的檔案,你也可以挑幾個上面提到的 Metadata 屬性來編輯,先打開一個新的記事本並輸入以下內容:
{
"name": "ITechNote Logo",
"description": "The first ITechNote logo NFT created by ITechNote",
"image": "ipfs://QmYHiLbYTK9hMpGwLdG9JZvStRGfBaFwv6XEW2JaENuBox",
"external_url": "https://itechnote.co/"
}
儲存後重新命名檔案,將副檔名由原本的 .txt 改為 .json 就完成了,在這個例子我使用四個屬性,告訴這些二級市場 NFT 的名字、描述、圖片路徑以及科技隨筆的官網網址,圖片路徑是 ipfs://#圖片的CID。

上傳到 IPFS

IPFS 不只能拿來儲存圖片還能儲存檔案,.json 檔自然也是可以上傳上去的,回到 Pinata 把 .json 檔上傳,網址為:https://pinata.cloud/
就像前一篇文章上傳的方式,點擊左上角「+ Upload」選擇「File」。
照著相同的三個步驟把 .json 檔上傳。
上傳完成後就會得到一組 .json 檔的 CID,做到這裡就完成啦!
它儲存的網址就會是 ipfs://#CID,以我實際上傳的例子 CID 為「QmdnBQrQa6KXVeeNr7fpc9uxQLtcCyknjcWqLXtoG1ahTK」,則 .json 檔的網址就會是「ipfs://QmdnBQrQa6KXVeeNr7fpc9uxQLtcCyknjcWqLXtoG1ahTK」。
現在有三個東西之間的關係要釐清,NFT 本身、 NFT 的 .json檔、NFT 的圖片檔。
未來當我們開始寫智能合約的程式碼,會看到 NFT 需要填上一個 URI 的欄位,就是填上這個 .json 檔 IPFS 的網址。
當 NFT 的顯示器在嘗試顯示這張 NFT 的樣貌時會先透過網址連到這個 .json 檔,並在解析 .json 檔底下的 Metadata 時,會找到 image 欄位,再透過 image 欄位裡面的 IPFS 網址去連結到真正的圖片將 NFT 完整地顯示出來。

延伸閱讀


最後,謝謝你在百忙之中願意抽空來花時間來看我的文章,如果還喜歡這些內容的話希望能獲得你的追蹤及小額贊助支持,讓我更有繼續寫下去的動力,也歡迎點此連結在其他平台找到我
下次見嚕 o((>ω< ))o~
為什麼會看到廣告
《科技隨筆 | 智能合約開發計畫》 智能合約開發計畫會深入淺出,從認識以太坊的協議開始出發,慢慢從最簡單的代幣到發行 NFT ,甚至是開發一些去中心化應用程式(Dapps),並做一些簡單的使用者介面讓任何人可以透過瀏覽器開啟 Web3.0 的大門。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
在這裡,我們會分析為甚麼發行 NFT 會需要利用 IPFS 來做, IPFS 是甚麼?以及實際操作如何使用 Pinata 的服務將想要上傳的檔案放到 IPFS 網路上。從這裡出發,開始擁有第一張去中心化圖片吧!
這次的 NFT 開發,希望讓讀者們在實作時,盡量用最少的程式碼也能夠完成你的 NFT 作品,而這篇文章可以當做是一個暖身,我們會大致瀏覽本次開發 NFT 所需要用到的一些工具與小知識,大概整理之後暫時先分為六大主題...
這一篇文章會深度解析在區塊鏈的世界中最常見的三種代幣協議 ,當中包含現在最紅的 NFT ,理解這些大家講好的規範,會讓我們在使用時更加瞭解它是怎麼運作的,這樣在使用一些去中心化的服務時,就可以自行去判斷它寫的內容是不是壞壞的,能讓自己避開危險在幣圈可是很重要的生存之道呢。
在這篇文章中,我們會提到 EIP 是甚麼,它的種類有哪些,還有所謂的 ERC 的代幣協議是甚麼,如果你也是想要透過寫程式的方式,在以太坊兼容的區塊鏈上發行自己的代幣或是 NFT 的話,那麼大致上瞭解 EIP 與 ERC 就會是需要的功課。
這是新年企劃的最終章,在這個月我們花了四篇文章的篇幅,慢慢討論如何利用Remix撰寫最簡單的Solidity智能合約,期望大家真的都能順利發行自己的加密貨幣,並在過年期間發送給親友們,讓他們體驗一下甚麼是錢包,並領取他們人生中第一顆加密貨幣。
本文延續上一次的程式碼,並增加錢包餘額查詢以及轉帳功能,完成後將會嘗試轉帳,若測試與查詢的結果都沒有問題的話,恭喜你完成一個可以被轉帳交易的加密貨幣,今年過年就靠它讓你在親戚朋友之間成為被眾人討論的紅人了!
在這裡,我們會分析為甚麼發行 NFT 會需要利用 IPFS 來做, IPFS 是甚麼?以及實際操作如何使用 Pinata 的服務將想要上傳的檔案放到 IPFS 網路上。從這裡出發,開始擁有第一張去中心化圖片吧!
這次的 NFT 開發,希望讓讀者們在實作時,盡量用最少的程式碼也能夠完成你的 NFT 作品,而這篇文章可以當做是一個暖身,我們會大致瀏覽本次開發 NFT 所需要用到的一些工具與小知識,大概整理之後暫時先分為六大主題...
這一篇文章會深度解析在區塊鏈的世界中最常見的三種代幣協議 ,當中包含現在最紅的 NFT ,理解這些大家講好的規範,會讓我們在使用時更加瞭解它是怎麼運作的,這樣在使用一些去中心化的服務時,就可以自行去判斷它寫的內容是不是壞壞的,能讓自己避開危險在幣圈可是很重要的生存之道呢。
在這篇文章中,我們會提到 EIP 是甚麼,它的種類有哪些,還有所謂的 ERC 的代幣協議是甚麼,如果你也是想要透過寫程式的方式,在以太坊兼容的區塊鏈上發行自己的代幣或是 NFT 的話,那麼大致上瞭解 EIP 與 ERC 就會是需要的功課。
這是新年企劃的最終章,在這個月我們花了四篇文章的篇幅,慢慢討論如何利用Remix撰寫最簡單的Solidity智能合約,期望大家真的都能順利發行自己的加密貨幣,並在過年期間發送給親友們,讓他們體驗一下甚麼是錢包,並領取他們人生中第一顆加密貨幣。
本文延續上一次的程式碼,並增加錢包餘額查詢以及轉帳功能,完成後將會嘗試轉帳,若測試與查詢的結果都沒有問題的話,恭喜你完成一個可以被轉帳交易的加密貨幣,今年過年就靠它讓你在親戚朋友之間成為被眾人討論的紅人了!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
端午節,紀念屈原。 然後,經過了千年, 據說不久前,世人終於發現,原來屈原是獨派英雄―― 堅持楚國獨立,抗拒被秦國統一。 於是,這麼說來, 端午節,也就是「楚國獨立抗暴紀念日」了, 好像有了不同的意義呢。 上面,是最近到貨的裝甲車們。 站在前面擋車的, 是假面騎士1號。
Thumbnail
2024高雄端午國際龍舟嘉年華,為避開夏天炎熱氣溫,選手們於夜間賽龍舟、每艘龍舟身上裝點彩色LED燈,在愛河伐行競賽相當搶眼,緊張的龍舟比賽氣氛中,增添電光閃爍的視覺效果。 晚上另有飛龍在天表演,這隻20米長橘紅色巨龍,是今年春節期間曾在佛光山展演的祥龍花燈
Thumbnail
🌼暈船的花 他不是沒有被人「冷卻」過,但是在他的權力槓桿遊戲裡,白營的八席是必須的。 黃國昌不接他的電話,花蓮那邊又傳來議長等人打算組成「反傅聯盟」的消息。好好的端午節,傅崐萁沒有安排公開行程,盯著電視、政論節目,手上拿著手機。 黃國昌不接他的電話。 理論上他應該要生氣,但他氣不起來。他腦
Thumbnail
過端午節要吃棕子,賽龍舟,現在還放一天假。這都是托屈原的福,得感謝他,是他投江自盡用生命帶給後人的福利。  屈原非常有才華,是中國文學史上第一位留下姓名的偉大詩人。在他的時代,他獨步詩壇。春秋戰國時代,沒有能和他比肩的詩人。我覺得,如果端午節要紀念屈原,那就多宣揚些他的文學成就吧! 過端午節念
Thumbnail
【記者_許家源/雙北報導】 隨著端午節的來臨,臺北市各校紛紛舉辦親子活動,讓孩子們在歡慶的氛圍中認識傳統節慶文化。近日,臺北市中正區螢橋國民小學結合食米學園計畫、食農教育及營養教育,成功辦理了一場別開生面的親子端午節慶活動——「包粽趣」。透過體驗包粽子,孩子們不僅了解了台灣米食的特色,更感受到了米食
Thumbnail
端午佳節,也祈願這幾年的紛亂逐漸平息,讓大眾早日回歸正常生活吧。
Thumbnail
乖乖宅在家,最好就是來畫畫了! 跟著線上老師的教學,一筆一畫的慢慢畫, 其實,不是很會畫,但很療癒,這療癒比什麼都好,因為不太花錢,只要有紙跟筆就可以了!  有時,想到什麼就塗鴉一下,回到小時候那樣開心的亂畫,也沒人會說什麼。 #keeko奇多 畫到快脫窗中, 手停不下來, 好喜歡亂亂畫的時光。
Thumbnail
乖乖宅在家,最好就是來畫畫了! 跟著線上老師的教學,一筆一畫的慢慢畫, 其實,不是很會畫,但很療癒,這療癒比什麼都好,因為不太花錢,只要有紙跟筆就可以了! 有時,想到什麼就塗鴉一下,回到小時候那樣開心的亂畫,也沒人會說什麼。 #keeko奇多 畫到快脫窗中, 手停不下來, 好喜歡亂亂畫的時光。
Thumbnail
疫情下的端午假期,沒有和家人團聚,沒有和朋友遠遊,但,我們還有一棵橘樹。千年以前,屈原也如是相信著。今早,散步的我,瞥見了鄰居窗前的小樹,結果了。白花、綠果,那是一棵柑橘。這讓我想起,少年屈原,曾以橘喻己,藉寫橘來明志,有〈橘頌〉傳世。生命不會停下腳步,世界再荒蕪,家門前,我們永遠還有一棵橘樹。
三大節日之一-端午節即將來到 攸關於中國人物的故事一屈原 若2000年前屈原能隨波逐流生活下來 是否能改寫一頁歷史 在這特別的時間點 過一個特別的節日 因為疫情 大家盡可能不返鄉 度過一個安全的端午佳節 但總有人個人堅持  無法強制每個人的作為 相信一個疫情 悶的人心惶惶   好好的將相關歷史故事
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
端午節,紀念屈原。 然後,經過了千年, 據說不久前,世人終於發現,原來屈原是獨派英雄―― 堅持楚國獨立,抗拒被秦國統一。 於是,這麼說來, 端午節,也就是「楚國獨立抗暴紀念日」了, 好像有了不同的意義呢。 上面,是最近到貨的裝甲車們。 站在前面擋車的, 是假面騎士1號。
Thumbnail
2024高雄端午國際龍舟嘉年華,為避開夏天炎熱氣溫,選手們於夜間賽龍舟、每艘龍舟身上裝點彩色LED燈,在愛河伐行競賽相當搶眼,緊張的龍舟比賽氣氛中,增添電光閃爍的視覺效果。 晚上另有飛龍在天表演,這隻20米長橘紅色巨龍,是今年春節期間曾在佛光山展演的祥龍花燈
Thumbnail
🌼暈船的花 他不是沒有被人「冷卻」過,但是在他的權力槓桿遊戲裡,白營的八席是必須的。 黃國昌不接他的電話,花蓮那邊又傳來議長等人打算組成「反傅聯盟」的消息。好好的端午節,傅崐萁沒有安排公開行程,盯著電視、政論節目,手上拿著手機。 黃國昌不接他的電話。 理論上他應該要生氣,但他氣不起來。他腦
Thumbnail
過端午節要吃棕子,賽龍舟,現在還放一天假。這都是托屈原的福,得感謝他,是他投江自盡用生命帶給後人的福利。  屈原非常有才華,是中國文學史上第一位留下姓名的偉大詩人。在他的時代,他獨步詩壇。春秋戰國時代,沒有能和他比肩的詩人。我覺得,如果端午節要紀念屈原,那就多宣揚些他的文學成就吧! 過端午節念
Thumbnail
【記者_許家源/雙北報導】 隨著端午節的來臨,臺北市各校紛紛舉辦親子活動,讓孩子們在歡慶的氛圍中認識傳統節慶文化。近日,臺北市中正區螢橋國民小學結合食米學園計畫、食農教育及營養教育,成功辦理了一場別開生面的親子端午節慶活動——「包粽趣」。透過體驗包粽子,孩子們不僅了解了台灣米食的特色,更感受到了米食
Thumbnail
端午佳節,也祈願這幾年的紛亂逐漸平息,讓大眾早日回歸正常生活吧。
Thumbnail
乖乖宅在家,最好就是來畫畫了! 跟著線上老師的教學,一筆一畫的慢慢畫, 其實,不是很會畫,但很療癒,這療癒比什麼都好,因為不太花錢,只要有紙跟筆就可以了!  有時,想到什麼就塗鴉一下,回到小時候那樣開心的亂畫,也沒人會說什麼。 #keeko奇多 畫到快脫窗中, 手停不下來, 好喜歡亂亂畫的時光。
Thumbnail
乖乖宅在家,最好就是來畫畫了! 跟著線上老師的教學,一筆一畫的慢慢畫, 其實,不是很會畫,但很療癒,這療癒比什麼都好,因為不太花錢,只要有紙跟筆就可以了! 有時,想到什麼就塗鴉一下,回到小時候那樣開心的亂畫,也沒人會說什麼。 #keeko奇多 畫到快脫窗中, 手停不下來, 好喜歡亂亂畫的時光。
Thumbnail
疫情下的端午假期,沒有和家人團聚,沒有和朋友遠遊,但,我們還有一棵橘樹。千年以前,屈原也如是相信著。今早,散步的我,瞥見了鄰居窗前的小樹,結果了。白花、綠果,那是一棵柑橘。這讓我想起,少年屈原,曾以橘喻己,藉寫橘來明志,有〈橘頌〉傳世。生命不會停下腳步,世界再荒蕪,家門前,我們永遠還有一棵橘樹。
三大節日之一-端午節即將來到 攸關於中國人物的故事一屈原 若2000年前屈原能隨波逐流生活下來 是否能改寫一頁歷史 在這特別的時間點 過一個特別的節日 因為疫情 大家盡可能不返鄉 度過一個安全的端午佳節 但總有人個人堅持  無法強制每個人的作為 相信一個疫情 悶的人心惶惶   好好的將相關歷史故事