【端午企劃】發行 NFT 必備的六項知識 | 智能合約開發計劃 #5

閱讀時間約 9 分鐘

端午節 NFT 開放預約!

2022很快地來到了Q2,在一月份時我曾經撰寫了如何發行 ERC-20 的代幣,最後也實際在 Polygon 主網路上發行了自己的「科技幣 (IT Coin, ITC)」並空投給讀者。
隨著新企劃的開始,科技隨筆開放科技幣持幣者搶先填表單預約領取免費的 NFT 空投,表單網址:
https://forms.gle/kEfQW7JPfbE3CGdX6
若你手上沒有之前空投的科技幣也沒關係,如果還有剩餘名額的話,下週我會再另外開放一個新表單讓非持幣者也能填寫哦!

開發 NFT 所需的六項知識

這次的 NFT 開發,我會希望讓讀者們在實作時,盡量用最少的程式碼也能夠完成你的 NFT 作品,而這篇文章可以當做是一個暖身,我們會大致瀏覽本次開發 NFT 所需要用到的一些工具與小知識,如果有些地方不太清楚或是有錯誤的話歡迎再底下留言給我,這樣也方便我在後續的文章做些調整,大概整理之後暫時先分為六大主題:
1. ERC 代幣協議
2. 智能合約、Solidity 與 Remix
3. 以太坊 Rinkeby 測試網
4. Openzeppelin
5. IPFS 星際檔案系統
6. OpenSea 與 Meta data
請特別留意!由於這篇有些東西會需要連線到外部網址,所以我會特別都把網址打出來,這些網站都絕對不會要求你輸入任何錢包的私鑰或助記詞,或是要求你要先付錢才能使用,記得在操作前都要對一下網址,免得不小心掉入詐騙或釣魚網站中了。

1. ERC 代幣協議

最早的 NFT 是在以太坊上出現的,這次開發也是採用以太坊的代幣協議標準,如果你還不清楚 ERC 或 EIP 是什麼的話,可以參考之前的文章:
【區塊鏈知識】快速瞭解以太坊的 ERC 與 EIP
接著如果能瞭解 ERC-20、ERC-721、ERC-1155 這三個以太坊代幣協議的標準,知道他們之間的差異,就會更瞭解一般的代幣與我們常聽到的 NFT 有甚麼相同之處,它們之間的差別是甚麼,如果懶得找網路上的資源,也可以參考之前的文章:
【區塊鏈知識】一文讀懂甚麼是 NFT 與代幣 | ERC-20 ERC-721 ERC-1155
這次我們將使用 ERC-1155 協議來開發 NFT ,若要問為甚麼不用 ERC-721 或 ERC-20 而是用 ERC-1155 的話,就是因為我只是想要發行一張圖片的代幣,作為端午節禮物空投分送給讀者們做紀念而已,所以本次發行的 NFT 其實就單純一種而已,如果選擇用 ERC-1155 來做的話,在鑄造時因為可以直接對同一個 ID 鑄造多個一模一樣的 NFT,要上鏈的東西少了自然在手續費的消耗也會變少哦!

2. 智能合約、Solidity 與 Remix

這三個東西我們在開發 ERC-20 時其實都已經講過了,如果可以的話先回去看看之前文章中提到的部分,文章連結為:
【新年企劃】過年就包紅包幣 | 智能合約開發計劃 #1
但這邊我還是稍微寫個懶人包帶過去吧。
我們所編寫的程式碼,在開發完以後會需要放到區塊鏈上運作,這些在區塊鏈上運行的程式碼就稱為「智能合約」,就像智能自動販賣機一般,程式碼一但上線了就可以為任何人提供服務。
Solidity 是一種為了撰寫智能合約而誕生的程式語言,藉由 Solidity 我們可以編寫出具有商業邏輯的應用程式,並在編譯後能夠在以太坊虛擬機 (EVM) 上自動運行這些服務。對於寫過程式的人而言,在學習 Solidity 時雖然邏輯與其他程式語言差不多,但是要多了解一些商業的知識,不然沒辦法完全地看懂程式碼!
如果要看 Solidity 最新版本以及其他詳細官方文檔可以參考網址:https://docs.soliditylang.org/
Remix 是以太坊提供給開發者的線上 Solidity 程式語言編輯環境,網址是:https://remix.ethereum.org/
我們所有的程式開發與部屬程式碼到區塊鏈上都會透過 Remix 來進行操作,這樣可以捨去非常多在自己電腦上安裝環境的事情,大幅降低開發智能合約的門檻,能讓一些新手讀者在真正去實作的時候更容易有「第一次動手寫程式打造一項產品」的體驗。

3. 以太坊 Rinkeby 測試網

這部分一樣可以先參考之前開發 ERC-20 的第一篇文章中,連結會附在最下方延伸閱讀。
那時我們使用的測試網是 「Kovan 測試網路」,這次開發我們將換到另一個測試網路叫「Rinkeby 測試網路」,嗯…如果你要問我不同測試網路的差異,我其實也不太瞭解,但可以確定的是它們都可以在上面部屬並執行以太坊虛擬機 (EVM) 兼容的智能合約,所以我想如果你還想打算繼續使用 Kovan 測試網的話也可以,理論上應該是不會有甚麼差別才對。
在 Metamask 開啟所有測試網路的設定方式:右上角大頭貼 → 設定 → 進階 → Show test networks。
免費領取 Rinkeby 測試網上的以太幣連結:https://faucets.chain.link/rinkeby

4. Openzeppelin

對於要開發 DeFi、Dapp 等智能合約功能的開發者而言,使用 OpenZeppelin 的開源工具會是很好的開始。它是一個開源的智能合約函式庫,就像一個工具箱一樣,把我們可能會用到的功能都先開發好了,我們只要拿對工具來使用就可達到想要的功能,而且因為程式碼是開放給大家使用的,表示有無數人查核過這些程式碼,雖然還是不能完全保證程式碼沒有問題,但使用時會相對安全。
事實上 Openzeppelin 是一間公司,它們的主要業務大概是提供工具讓開發者更方便開發與管理智能合約以及提供智能合約程式碼資安方面的審計,在官網上可以看到一些它們參與過很有名的專案開發或協助審計,例如 Brave 瀏覽器、Compound 借貸平台,官方網站網址是:https://openzeppelin.com/
這次我們會用到 Openzeepelin 的函式庫來開發 NFT,將需要撰寫的程式碼降到最少,能稍微讓沒寫過程式的人有一種在做程式開發的感覺,應該會蠻有趣的!它們也有撰寫文件讓開發者更容易使用開發智能合約,文檔網址是:https://docs.openzeppelin.com/contracts/

5. IPFS 星際檔案系統

IPFS 星際檔案系統是一種分散式檔案儲存系統,跟使用雲端服務差不多的地方就是你並不知道自己的檔案被存到哪裡去了,但與雲端服務的差別是雲端服務通常都需要有超大型的資料中心來保管資料,所以可以看成是中心化的儲存,而 IPFS 是去中心化的儲存,你的資料會儲存在非常多不同的節點,好處是資料不容易丟失,但壞處是對於不常使用的資料讀取所需的時間可能會比較久。
這跟我們要開發 NFT 有甚麼關係嗎?
如果你有在檔案總管看過圖片的大小,應該就知道一張圖片隨便就好幾 MB,資料空間會是文字的數千數萬倍以上,若我們要將圖片傳到區塊鏈上要付出非常龐大的手續費才能做到,是非常不切實際的動作,現在主流的 NFT 專案幾乎都是先將圖片存到雲端再將網址複製出來放到區塊鏈上,但要是存在個人網站或一些中心化的地方,很有可能因為服務停止或遭到攻擊導致資料無法讀取,那我們就不能保證未來五年十年這個 NFT 網址所對應到的圖片會不會消失,如果是使用 IPFS 來存放圖片,由於資料存放時會產生獨一無二的哈希值,並分散存放在礦工的硬碟中,相較於中心化或私人化的儲存,存放於 IPFS 的儲存方式會更不用擔心圖片丟失。

6. OpenSea 與 Metadata

OpenSea 是目前全世界最大的 NFT 二手交易市場,如果要讓自己鑄造出來的 NFT 可以在 OpenSea 上面顯示一些自己想要的內容,可以去參考官方所撰寫 Metadata 規格書,透過這種方式去看看我們的 NFT 需要哪些功能,就可以知道要附甚麼資訊在裡面,介紹 Metadata 的同時也會順便介紹甚麼是 json 格式,如果有興趣的話可以先去查資料嘗試瞭解看看,之後的文章都會提到哦!
這裡附上 OpenSea 關於 Metadata 的官方文檔網址:https://docs.opensea.io/docs/metadata-standards
以及 OpenSea 的官網網址:https://opensea.io/

事前準備

以上大致將這次我們開發 NFT 會用到的內容,我把它大概切成六大點,而一些更基本的內容,例如:如何申請 Metamask 錢包、如何添加切換測試網以及去水龍頭領取免費的測試網以太幣等,這部分可以回去之前的文章看看。
接下來的文章我們會一步一步將圖片上傳至 IPFS ,再發行自己獨一無二的 NFT 哦,可以先準備好一張自己想發的圖片,敬請期待啦!

延伸閱讀


最後,謝謝你在百忙之中願意抽空來花時間來看我的文章,如果還喜歡這些內容的話希望能獲得你的追蹤及小額贊助支持,讓我更有繼續寫下去的動力,也歡迎點此連結在其他平台找到我
下次見嚕 o((>ω< ))o~
為什麼會看到廣告
    《科技隨筆 | 智能合約開發計畫》 智能合約開發計畫會深入淺出,從認識以太坊的協議開始出發,慢慢從最簡單的代幣到發行 NFT ,甚至是開發一些去中心化應用程式(Dapps),並做一些簡單的使用者介面讓任何人可以透過瀏覽器開啟 Web3.0 的大門。
    留言0
    查看全部
    發表第一個留言支持創作者!
    這一篇文章會深度解析在區塊鏈的世界中最常見的三種代幣協議 ,當中包含現在最紅的 NFT ,理解這些大家講好的規範,會讓我們在使用時更加瞭解它是怎麼運作的,這樣在使用一些去中心化的服務時,就可以自行去判斷它寫的內容是不是壞壞的,能讓自己避開危險在幣圈可是很重要的生存之道呢。
    在這篇文章中,我們會提到 EIP 是甚麼,它的種類有哪些,還有所謂的 ERC 的代幣協議是甚麼,如果你也是想要透過寫程式的方式,在以太坊兼容的區塊鏈上發行自己的代幣或是 NFT 的話,那麼大致上瞭解 EIP 與 ERC 就會是需要的功課。
    這是新年企劃的最終章,在這個月我們花了四篇文章的篇幅,慢慢討論如何利用Remix撰寫最簡單的Solidity智能合約,期望大家真的都能順利發行自己的加密貨幣,並在過年期間發送給親友們,讓他們體驗一下甚麼是錢包,並領取他們人生中第一顆加密貨幣。
    本文延續上一次的程式碼,並增加錢包餘額查詢以及轉帳功能,完成後將會嘗試轉帳,若測試與查詢的結果都沒有問題的話,恭喜你完成一個可以被轉帳交易的加密貨幣,今年過年就靠它讓你在親戚朋友之間成為被眾人討論的紅人了!
    在本文中,我們會開始寫一些程式,讓讀者瞭解如何利用Remix開發環境來撰寫Solidity程式,以及如何編譯、發佈智能合約。還有在發佈之後怎麼看剛剛設定的參數是否都成功被執行了,一起實作發出人生第一顆發財幣吧!
    2022年的農曆新年在一月底就要登場了!說到新年或多或少一定免不了要家族團聚吃個團圓飯,又到了這個時間了,身為社畜的你想好今年要包多少紅包給家人了嗎?這次過年就逼親戚下載錢包,直接把你設計的發財幣、紅包幣、坐以待幣、大學延幣通通在過年的時候射給他們吧!
    這一篇文章會深度解析在區塊鏈的世界中最常見的三種代幣協議 ,當中包含現在最紅的 NFT ,理解這些大家講好的規範,會讓我們在使用時更加瞭解它是怎麼運作的,這樣在使用一些去中心化的服務時,就可以自行去判斷它寫的內容是不是壞壞的,能讓自己避開危險在幣圈可是很重要的生存之道呢。
    在這篇文章中,我們會提到 EIP 是甚麼,它的種類有哪些,還有所謂的 ERC 的代幣協議是甚麼,如果你也是想要透過寫程式的方式,在以太坊兼容的區塊鏈上發行自己的代幣或是 NFT 的話,那麼大致上瞭解 EIP 與 ERC 就會是需要的功課。
    這是新年企劃的最終章,在這個月我們花了四篇文章的篇幅,慢慢討論如何利用Remix撰寫最簡單的Solidity智能合約,期望大家真的都能順利發行自己的加密貨幣,並在過年期間發送給親友們,讓他們體驗一下甚麼是錢包,並領取他們人生中第一顆加密貨幣。
    本文延續上一次的程式碼,並增加錢包餘額查詢以及轉帳功能,完成後將會嘗試轉帳,若測試與查詢的結果都沒有問題的話,恭喜你完成一個可以被轉帳交易的加密貨幣,今年過年就靠它讓你在親戚朋友之間成為被眾人討論的紅人了!
    在本文中,我們會開始寫一些程式,讓讀者瞭解如何利用Remix開發環境來撰寫Solidity程式,以及如何編譯、發佈智能合約。還有在發佈之後怎麼看剛剛設定的參數是否都成功被執行了,一起實作發出人生第一顆發財幣吧!
    2022年的農曆新年在一月底就要登場了!說到新年或多或少一定免不了要家族團聚吃個團圓飯,又到了這個時間了,身為社畜的你想好今年要包多少紅包給家人了嗎?這次過年就逼親戚下載錢包,直接把你設計的發財幣、紅包幣、坐以待幣、大學延幣通通在過年的時候射給他們吧!
    你可能也想看
    Google News 追蹤
    Thumbnail
    接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
    Thumbnail
    🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
    Thumbnail
    端午節,紀念屈原。 然後,經過了千年, 據說不久前,世人終於發現,原來屈原是獨派英雄―― 堅持楚國獨立,抗拒被秦國統一。 於是,這麼說來, 端午節,也就是「楚國獨立抗暴紀念日」了, 好像有了不同的意義呢。 上面,是最近到貨的裝甲車們。 站在前面擋車的, 是假面騎士1號。
    Thumbnail
    2024高雄端午國際龍舟嘉年華,為避開夏天炎熱氣溫,選手們於夜間賽龍舟、每艘龍舟身上裝點彩色LED燈,在愛河伐行競賽相當搶眼,緊張的龍舟比賽氣氛中,增添電光閃爍的視覺效果。 晚上另有飛龍在天表演,這隻20米長橘紅色巨龍,是今年春節期間曾在佛光山展演的祥龍花燈
    Thumbnail
    🌼暈船的花 他不是沒有被人「冷卻」過,但是在他的權力槓桿遊戲裡,白營的八席是必須的。 黃國昌不接他的電話,花蓮那邊又傳來議長等人打算組成「反傅聯盟」的消息。好好的端午節,傅崐萁沒有安排公開行程,盯著電視、政論節目,手上拿著手機。 黃國昌不接他的電話。 理論上他應該要生氣,但他氣不起來。他腦
    Thumbnail
    過端午節要吃棕子,賽龍舟,現在還放一天假。這都是托屈原的福,得感謝他,是他投江自盡用生命帶給後人的福利。  屈原非常有才華,是中國文學史上第一位留下姓名的偉大詩人。在他的時代,他獨步詩壇。春秋戰國時代,沒有能和他比肩的詩人。我覺得,如果端午節要紀念屈原,那就多宣揚些他的文學成就吧! 過端午節念
    Thumbnail
    【記者_許家源/雙北報導】 隨著端午節的來臨,臺北市各校紛紛舉辦親子活動,讓孩子們在歡慶的氛圍中認識傳統節慶文化。近日,臺北市中正區螢橋國民小學結合食米學園計畫、食農教育及營養教育,成功辦理了一場別開生面的親子端午節慶活動——「包粽趣」。透過體驗包粽子,孩子們不僅了解了台灣米食的特色,更感受到了米食
    Thumbnail
    端午佳節,也祈願這幾年的紛亂逐漸平息,讓大眾早日回歸正常生活吧。
    Thumbnail
    每一次的關愛陪伴活動,TDCA透過發想不同的活動創意,讓孩子感受快樂啟發學習的自信,短短的二個半鐘頭,在回程路上...歡笑與滿足仍悠悠迴盪在耳邊。
    算是某種小時候的夢想,想要能夠成為家中的一份子,總是很害怕哪天就突然身邊完全沒有接納我的人,也總害怕很久之後的未來,大家都不相往來了。 意外的在今年很努力長出自我後,今天突然順利的和桌邊的親戚對上話了,不是刻意問起的寒暄,不是我特地打招呼,單純從桌上的菜、桌邊的互動,就讓大家聊起了各家裡面遇到的事情
    Thumbnail
    「台北國際電玩展」主辦單位台北市電腦公會今日宣布,2020 台北國際電玩展展覽時間確定將延至 6 月 25 日至 28 日舉行,新檔期時間為端午節四天連續假期。 「2020 台北國際電玩展」原本預定 2 月 6~9 日在台北南港展覽館 1 館舉辦,但考量到世界衛生組織宣布「嚴重特殊傳染性肺炎(武漢
    Thumbnail
    接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
    Thumbnail
    🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
    Thumbnail
    端午節,紀念屈原。 然後,經過了千年, 據說不久前,世人終於發現,原來屈原是獨派英雄―― 堅持楚國獨立,抗拒被秦國統一。 於是,這麼說來, 端午節,也就是「楚國獨立抗暴紀念日」了, 好像有了不同的意義呢。 上面,是最近到貨的裝甲車們。 站在前面擋車的, 是假面騎士1號。
    Thumbnail
    2024高雄端午國際龍舟嘉年華,為避開夏天炎熱氣溫,選手們於夜間賽龍舟、每艘龍舟身上裝點彩色LED燈,在愛河伐行競賽相當搶眼,緊張的龍舟比賽氣氛中,增添電光閃爍的視覺效果。 晚上另有飛龍在天表演,這隻20米長橘紅色巨龍,是今年春節期間曾在佛光山展演的祥龍花燈
    Thumbnail
    🌼暈船的花 他不是沒有被人「冷卻」過,但是在他的權力槓桿遊戲裡,白營的八席是必須的。 黃國昌不接他的電話,花蓮那邊又傳來議長等人打算組成「反傅聯盟」的消息。好好的端午節,傅崐萁沒有安排公開行程,盯著電視、政論節目,手上拿著手機。 黃國昌不接他的電話。 理論上他應該要生氣,但他氣不起來。他腦
    Thumbnail
    過端午節要吃棕子,賽龍舟,現在還放一天假。這都是托屈原的福,得感謝他,是他投江自盡用生命帶給後人的福利。  屈原非常有才華,是中國文學史上第一位留下姓名的偉大詩人。在他的時代,他獨步詩壇。春秋戰國時代,沒有能和他比肩的詩人。我覺得,如果端午節要紀念屈原,那就多宣揚些他的文學成就吧! 過端午節念
    Thumbnail
    【記者_許家源/雙北報導】 隨著端午節的來臨,臺北市各校紛紛舉辦親子活動,讓孩子們在歡慶的氛圍中認識傳統節慶文化。近日,臺北市中正區螢橋國民小學結合食米學園計畫、食農教育及營養教育,成功辦理了一場別開生面的親子端午節慶活動——「包粽趣」。透過體驗包粽子,孩子們不僅了解了台灣米食的特色,更感受到了米食
    Thumbnail
    端午佳節,也祈願這幾年的紛亂逐漸平息,讓大眾早日回歸正常生活吧。
    Thumbnail
    每一次的關愛陪伴活動,TDCA透過發想不同的活動創意,讓孩子感受快樂啟發學習的自信,短短的二個半鐘頭,在回程路上...歡笑與滿足仍悠悠迴盪在耳邊。
    算是某種小時候的夢想,想要能夠成為家中的一份子,總是很害怕哪天就突然身邊完全沒有接納我的人,也總害怕很久之後的未來,大家都不相往來了。 意外的在今年很努力長出自我後,今天突然順利的和桌邊的親戚對上話了,不是刻意問起的寒暄,不是我特地打招呼,單純從桌上的菜、桌邊的互動,就讓大家聊起了各家裡面遇到的事情
    Thumbnail
    「台北國際電玩展」主辦單位台北市電腦公會今日宣布,2020 台北國際電玩展展覽時間確定將延至 6 月 25 日至 28 日舉行,新檔期時間為端午節四天連續假期。 「2020 台北國際電玩展」原本預定 2 月 6~9 日在台北南港展覽館 1 館舉辦,但考量到世界衛生組織宣布「嚴重特殊傳染性肺炎(武漢