【端午企劃】我的第一張去中心化圖片! | 智能合約開發計劃 #6

閱讀時間約 11 分鐘

端午節 NFT 全面開放預約!

2022很快地來到了Q2,在一月份時我曾經撰寫了如何發行 ERC-20 的代幣,最後也實際在 Polygon 主網路上發行了自己的「科技幣 (IT Coin, ITC)」並空投給讀者。
隨著新企劃的開始,科技隨筆開放科技幣持幣者搶先填表單預約領取免費的 NFT 空投,若你手上沒有之前空投的科技幣也沒關係,自 2022/05/19 00:00 全面開放表單預約了!經過第一輪 ITC 持幣者填寫並核對資格以後,剩餘 18 個免費領取 NFT 的名額,想領取的話會需要你追蹤任一科技隨筆平台或加入任一科技隨筆社群(我會檢查),本表單將依照填寫時間排名,額滿就不會再另行通知了哦!
第一輪表單填寫經檢查後符合領取資格名單已經在群組中公布了,還沒填寫領取的人趕快手刀填寫吧。

NFT 的圖片是安全的嗎?

現在常見的 NFT 通常都是看到一張圖片,如果你有在檔案總管看過圖片的大小,應該就知道一張圖片隨便就好幾 MB,資料空間會是文字的數千數萬倍以上,若我們要將圖片傳到區塊鏈上,會需要付出非常龐大的手續費才能做到,是非常不切實際的動作,所以現在主流的 NFT 專案幾乎都是先將圖片上傳到網路上,再將網址複製出來放到區塊鏈上,以節省上鏈所需的費用。
看起來 NFT 背後網址對應到的是一個存放這個 NFT 圖片的地方吧!隨之而來的問題就浮現了,這個網址是可靠的嗎?
以我自己的網站做舉例,這篇文章精選圖片的網址是放在科技隨筆的網域對應到的虛擬主機之中: https://itechnote.co/wp-content/uploads/2022/05/IPFS_Pinata.png,如果用此圖檔網址來發行 NFT,那些二級市場或是可瀏覽 NFT 的錢包會透過網址抓取到圖片顯示給使用者看,NFT 就做完了看起來沒問題。
但經過 N 年後的某天,這個虛擬主機與網域若沒有繼續租用了,這些 itechnote.co 開頭的網址對應到的網頁自然也就不復存在了,用這個網址發行的 NFT 更是不可能再找到對應的圖案,它會不會變成「404 not found」的打叉型 NFT 就非常值得深思。
如果圖片是放到雲端,也有可能因為科技公司倒掉或是他們進行了雲端業務調整使得圖片網址有更動,NFT 也會找不到對應的圖案。
存在個人網站或一些中心化的地方,很有可能因為服務停止或遭到攻擊導致資料無法讀取,那我們就不能保證未來五年十年這個 NFT 網址所對應到的圖片會不會消失,如果是使用 IPFS 來存放圖片,由於資料存放時會產生獨一無二的哈希值,並分散存放在礦工的硬碟節點之中,相較於中心化或私人化的儲存,存放於 IPFS 的儲存方式更不用擔心圖片丟失(但仍不能保證一定不會遺失)。

IPFS 星際檔案系統

IPFS (InterPlanetary File System)星際檔案系統是一種分散式檔案儲存系統,跟使用雲端服務差不多的地方就是你並不知道自己的檔案被存到哪裡去了,但與雲端服務的差別是雲端服務通常都需要有超大型的資料中心來保管資料,所以可以看成是中心化的儲存,而 IPFS 是去中心化的儲存,你的資料會儲存在非常多不同的節點,好處是資料不容易丟失(由於系統設計的機制不能保證資料一定不會遺失),但壞處是如果圖片檔案較大的話儲存時會被切割成比較多份,分開存放到不同的節點中,這導致資料讀取所需的時間可能會比較久。
IPFS 就像我們日常使用的 HTTP 一樣,本身算是一個網路協議,每個資料被儲存時會產生獨一無二的哈希值,這就像網域中的 IP 一樣是唯一的。
在網際網路的使用上 IP 很不好記憶,所以 IP 網域會透過網域名稱系統(DNS)轉換到一個網址,如果對網址不太熟悉沒關係你可以實作這個範例看看,一般來說我們要連上 Google 首頁,就會在瀏覽器上打上「google.com」,你可以嘗試看看在瀏覽器打上它背後的 IP 「142.250.179.206」,輸入後一樣可以連到 Google 首頁,這是因為當我們輸入 google.com 之後,瀏覽器會先去 DNS 找到 google.com 對應的 IP (142.250.193.206),再用此 IP 連線到 Google 的伺服器;IPFS 也有一樣的域名系統(IPNS)在做類似的事情,把哈希值轉換成更容易看懂的符號,提高資料讀取的效率。
就像大部分的人會使用 https 的網路協議服務一樣,人們往往不太需要了解背後的原理,很多時候面對這些新科技只要學著如何使用就足夠了,接下來會著重在如何將自己的圖片上傳到 IPFS ,我們現在只要知道 IPFS 是一個分散式儲存的網路協議,放在上面的資料比起一般私有或中心化的儲存方式更安全,但仍不能保證資料不會丟失。許多 IPFS 更細節的東西未來如果有機會再寫一篇文章介紹它。
正常來說,要使用 IPFS 星際檔案系統進行上傳或下載資料,就必須要在自己的電腦下載安裝並配置一個新的 IPFS 節點才能做到這件事情,我們只是想要上傳個圖片用來做 NFT ,卻要花費大量電腦資源部屬 IPFS 節點是不是有點小題大作了,部屬過程繁雜冗贅完全不符合效益,所以我們要使用一個免費的工具來上傳圖片到 IPFS 之中,它就是「Pinata」!

Pinata

Pinata 是一個能夠讓人將資料存放到 IPFS 上的服務,提供 1GB 的免費儲存空間可以使用,對於要做 NFT 的我們而言,這空間拿來存圖片綽綽有餘了。
網站網址是:https://www.pinata.cloud/
進去之後官網上看到大大的標語寫著「Your Home For NFT Media. The cloud wasn’t built for this. Pinata was. Managing your NFT media just got easier.」看來發 NFT 用 pinata 應該是選對了。
進到首頁以後,右上角「Try for free」先註冊登入成為 Pinata 的會員。
註冊完成後再重新登入之後就會進入到這個頁面,這個頁面就是 Pinata 主要的畫面,不管是要上傳資料還是查詢以前上傳的資料都是在這裡運作。
右上角的黃色小視窗也有提醒我們,IPFS 是一個公開網路,所有發上 IPFS 的資料只要有對應的 CID,任何人都是可以隨意瀏覽的,不要發布自己的重要資訊上去哦!

上傳我的第一張去中心化圖片

終於來到本篇文章的主角了,在 Pinata 上傳我們之後要做 NFT 的圖片。
在畫面的左上方有一個「+ Upload」的按鈕,點下去之後會有三種可以上傳的東西:
「Folder」可以上傳整個資料夾。
「File」就是上傳檔案,不管是文字檔、圖片或影片都算 File。
「CID」是在 IPFS 上類似網址的東西,所有放在上面的資料夾或是檔案都會產生一組 CID,上傳 CID 的用意大概是對這個 CID 再 Pin 一次,在 IPFS 中由於網路很大資料很多,這個 CID 如果被 Pin 就等同於告訴 IPFS 「這個檔案很重要」,讓 IPFS 能夠在節點中更長期地保留此檔案,減少因為無人訪問導致該資料最後被 IPFS 清除。
這裡我們要選擇 File,選擇後就會看到底下三個步驟:
第一步:從我的電腦中上傳檔案,點擊「Select a file」開啟檔案總管選擇要上傳的圖片。

第二步:幫這張圖片取個檔名吧(預設是原本的檔名)。

第三步:上傳中,上傳過程會花一些時間,如果在轉圈圈請耐心等它轉完,不要關掉視窗。
成功上傳的話,你就會看到剛剛命名的名稱出現在首頁中,隨之而來會產生一組 CID ,做到這裡就已經把圖片成功上傳到 IPFS 上面了。

讀取去中心化圖片

前面提到成功上傳之後會得到該檔案的 CID,透過這個 CID 我們就可以在 IPFS 上找到,若想看到剛剛上傳的圖片方法有蠻多種的,這裡舉兩種讀取的方法,並用我剛剛上傳科技隨筆 Logo 獲得的 CID 為例 (QmYHiLbYTK9hMpGwLdG9JZvStRGfBaFwv6XEW2JaENuBox) 讓大家試試看:

1. 使用 IPFS 讀取

直接在支援 IPFS 的瀏覽器上輸入 ipfs://{#你的 CID } 。
這個操作需要使用支援 IPFS 的瀏覽器,我目前測試都是用 Brave 瀏覽器,它是使用 Chrome 瀏覽器作為底層重新開發的,所以使用上跟 Chrome 蠻像的,你可以下載來試用看看,網址:https://brave.com/
就像一般網際網路連線的 http:// 或 https:// 開頭,如果要瀏覽 IPFS 網路,就要以 ipfs:// 為開頭,後面直接貼上 Pinata 上的 CID,就可以看到剛剛上傳的圖片了。
輸入 ipfs://QmYHiLbYTK9hMpGwLdG9JZvStRGfBaFwv6XEW2JaENuBox 就可以看到我之前上傳的圖片了。
但要注意由於 IPFS 網路相當的大節點非常多,檔案上傳的過程需要不少時間,所以剛上傳的圖片直接使用 ipfs:// 查詢可能會找不到,保險一點可以多等個一個小時再回來試試看,第一次讀取圖片可能也要花費數分鐘才能顯示,按下 Enter 鍵後喝杯咖啡再回來看看結果吧。

2. 使用 HTTP 讀取

透過 pinata 本身的 gateway 服務直接抓取圖片 https://gateway.pinata.cloud/ipfs/{#你的 CID } 。
直接點剛剛上傳的檔名,像我這邊的例子就是點擊 Name 底下紫色的「ITechNote_Logo.png」,就會連到這裡 https://gateway.pinata.cloud/ipfs/QmYHiLbYTK9hMpGwLdG9JZvStRGfBaFwv6XEW2JaENuBox
你會發現其實這個網址就是 https://gateway.pinata.cloud/ipfs/{#你的 CID },由於是 https:// 開頭的,所有的瀏覽器都可以連到 pinata 看到這個圖片。

結語

以上就是利用 Pinata 上傳檔案到 IPFS 上的方法,恭喜大家得到了第一張自己的去中心化圖片,當然你也不一定要上傳圖片,上傳文字檔、影片、整包資料夾都是可以的,如果你對於 IPFS 技術的使用上,想到什麼有創造力的使用方式或各種 idea,歡迎再回來與我交流交流。

延伸閱讀


最後,謝謝你在百忙之中願意抽空來花時間來看我的文章,如果還喜歡這些內容的話希望能獲得你的追蹤及小額贊助支持,讓我更有繼續寫下去的動力,也歡迎 點此連結在其他平台找到我
為什麼會看到廣告
《科技隨筆 | 智能合約開發計畫》 智能合約開發計畫會深入淺出,從認識以太坊的協議開始出發,慢慢從最簡單的代幣到發行 NFT ,甚至是開發一些去中心化應用程式(Dapps),並做一些簡單的使用者介面讓任何人可以透過瀏覽器開啟 Web3.0 的大門。
留言0
查看全部
發表第一個留言支持創作者!
這次的 NFT 開發,希望讓讀者們在實作時,盡量用最少的程式碼也能夠完成你的 NFT 作品,而這篇文章可以當做是一個暖身,我們會大致瀏覽本次開發 NFT 所需要用到的一些工具與小知識,大概整理之後暫時先分為六大主題...
這一篇文章會深度解析在區塊鏈的世界中最常見的三種代幣協議 ,當中包含現在最紅的 NFT ,理解這些大家講好的規範,會讓我們在使用時更加瞭解它是怎麼運作的,這樣在使用一些去中心化的服務時,就可以自行去判斷它寫的內容是不是壞壞的,能讓自己避開危險在幣圈可是很重要的生存之道呢。
在這篇文章中,我們會提到 EIP 是甚麼,它的種類有哪些,還有所謂的 ERC 的代幣協議是甚麼,如果你也是想要透過寫程式的方式,在以太坊兼容的區塊鏈上發行自己的代幣或是 NFT 的話,那麼大致上瞭解 EIP 與 ERC 就會是需要的功課。
這是新年企劃的最終章,在這個月我們花了四篇文章的篇幅,慢慢討論如何利用Remix撰寫最簡單的Solidity智能合約,期望大家真的都能順利發行自己的加密貨幣,並在過年期間發送給親友們,讓他們體驗一下甚麼是錢包,並領取他們人生中第一顆加密貨幣。
本文延續上一次的程式碼,並增加錢包餘額查詢以及轉帳功能,完成後將會嘗試轉帳,若測試與查詢的結果都沒有問題的話,恭喜你完成一個可以被轉帳交易的加密貨幣,今年過年就靠它讓你在親戚朋友之間成為被眾人討論的紅人了!
在本文中,我們會開始寫一些程式,讓讀者瞭解如何利用Remix開發環境來撰寫Solidity程式,以及如何編譯、發佈智能合約。還有在發佈之後怎麼看剛剛設定的參數是否都成功被執行了,一起實作發出人生第一顆發財幣吧!
這次的 NFT 開發,希望讓讀者們在實作時,盡量用最少的程式碼也能夠完成你的 NFT 作品,而這篇文章可以當做是一個暖身,我們會大致瀏覽本次開發 NFT 所需要用到的一些工具與小知識,大概整理之後暫時先分為六大主題...
這一篇文章會深度解析在區塊鏈的世界中最常見的三種代幣協議 ,當中包含現在最紅的 NFT ,理解這些大家講好的規範,會讓我們在使用時更加瞭解它是怎麼運作的,這樣在使用一些去中心化的服務時,就可以自行去判斷它寫的內容是不是壞壞的,能讓自己避開危險在幣圈可是很重要的生存之道呢。
在這篇文章中,我們會提到 EIP 是甚麼,它的種類有哪些,還有所謂的 ERC 的代幣協議是甚麼,如果你也是想要透過寫程式的方式,在以太坊兼容的區塊鏈上發行自己的代幣或是 NFT 的話,那麼大致上瞭解 EIP 與 ERC 就會是需要的功課。
這是新年企劃的最終章,在這個月我們花了四篇文章的篇幅,慢慢討論如何利用Remix撰寫最簡單的Solidity智能合約,期望大家真的都能順利發行自己的加密貨幣,並在過年期間發送給親友們,讓他們體驗一下甚麼是錢包,並領取他們人生中第一顆加密貨幣。
本文延續上一次的程式碼,並增加錢包餘額查詢以及轉帳功能,完成後將會嘗試轉帳,若測試與查詢的結果都沒有問題的話,恭喜你完成一個可以被轉帳交易的加密貨幣,今年過年就靠它讓你在親戚朋友之間成為被眾人討論的紅人了!
在本文中,我們會開始寫一些程式,讓讀者瞭解如何利用Remix開發環境來撰寫Solidity程式,以及如何編譯、發佈智能合約。還有在發佈之後怎麼看剛剛設定的參數是否都成功被執行了,一起實作發出人生第一顆發財幣吧!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
端午節,紀念屈原。 然後,經過了千年, 據說不久前,世人終於發現,原來屈原是獨派英雄―― 堅持楚國獨立,抗拒被秦國統一。 於是,這麼說來, 端午節,也就是「楚國獨立抗暴紀念日」了, 好像有了不同的意義呢。 上面,是最近到貨的裝甲車們。 站在前面擋車的, 是假面騎士1號。
Thumbnail
2024高雄端午國際龍舟嘉年華,為避開夏天炎熱氣溫,選手們於夜間賽龍舟、每艘龍舟身上裝點彩色LED燈,在愛河伐行競賽相當搶眼,緊張的龍舟比賽氣氛中,增添電光閃爍的視覺效果。 晚上另有飛龍在天表演,這隻20米長橘紅色巨龍,是今年春節期間曾在佛光山展演的祥龍花燈
Thumbnail
🌼暈船的花 他不是沒有被人「冷卻」過,但是在他的權力槓桿遊戲裡,白營的八席是必須的。 黃國昌不接他的電話,花蓮那邊又傳來議長等人打算組成「反傅聯盟」的消息。好好的端午節,傅崐萁沒有安排公開行程,盯著電視、政論節目,手上拿著手機。 黃國昌不接他的電話。 理論上他應該要生氣,但他氣不起來。他腦
Thumbnail
過端午節要吃棕子,賽龍舟,現在還放一天假。這都是托屈原的福,得感謝他,是他投江自盡用生命帶給後人的福利。  屈原非常有才華,是中國文學史上第一位留下姓名的偉大詩人。在他的時代,他獨步詩壇。春秋戰國時代,沒有能和他比肩的詩人。我覺得,如果端午節要紀念屈原,那就多宣揚些他的文學成就吧! 過端午節念
Thumbnail
【記者_許家源/雙北報導】 隨著端午節的來臨,臺北市各校紛紛舉辦親子活動,讓孩子們在歡慶的氛圍中認識傳統節慶文化。近日,臺北市中正區螢橋國民小學結合食米學園計畫、食農教育及營養教育,成功辦理了一場別開生面的親子端午節慶活動——「包粽趣」。透過體驗包粽子,孩子們不僅了解了台灣米食的特色,更感受到了米食
Thumbnail
疫情下的端午假期,沒有和家人團聚,沒有和朋友遠遊,但,我們還有一棵橘樹。千年以前,屈原也如是相信著。今早,散步的我,瞥見了鄰居窗前的小樹,結果了。白花、綠果,那是一棵柑橘。這讓我想起,少年屈原,曾以橘喻己,藉寫橘來明志,有〈橘頌〉傳世。生命不會停下腳步,世界再荒蕪,家門前,我們永遠還有一棵橘樹。
Thumbnail
泌尿科應該是醫療科別中最令人難以啟齒與希望逃避的科別,卻在作者風趣搞笑的描述下,將許多現代人對於某些隱私處的迷思一一表達出來並解釋,不僅是達到了一定程度的釐清與科普,更讓人對於泌尿科有更多的認識,此作應該也是醫療月中最輕鬆詼諧的作品了(笑)。
Thumbnail
參加者聯繫,也可視為消費者常見問題集(客服),本篇分成 #報名前、#報名後、#活動前、#活動後 四個階段,列舉我過往遇到的消費者常見問題。
Thumbnail
講者邀約(講師邀約)看起來很 SOP,但其實都有一些經驗法則可參考,本篇將過去的講者邀請步驟打成列點,也作為之後活動的參考依據。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
端午節,紀念屈原。 然後,經過了千年, 據說不久前,世人終於發現,原來屈原是獨派英雄―― 堅持楚國獨立,抗拒被秦國統一。 於是,這麼說來, 端午節,也就是「楚國獨立抗暴紀念日」了, 好像有了不同的意義呢。 上面,是最近到貨的裝甲車們。 站在前面擋車的, 是假面騎士1號。
Thumbnail
2024高雄端午國際龍舟嘉年華,為避開夏天炎熱氣溫,選手們於夜間賽龍舟、每艘龍舟身上裝點彩色LED燈,在愛河伐行競賽相當搶眼,緊張的龍舟比賽氣氛中,增添電光閃爍的視覺效果。 晚上另有飛龍在天表演,這隻20米長橘紅色巨龍,是今年春節期間曾在佛光山展演的祥龍花燈
Thumbnail
🌼暈船的花 他不是沒有被人「冷卻」過,但是在他的權力槓桿遊戲裡,白營的八席是必須的。 黃國昌不接他的電話,花蓮那邊又傳來議長等人打算組成「反傅聯盟」的消息。好好的端午節,傅崐萁沒有安排公開行程,盯著電視、政論節目,手上拿著手機。 黃國昌不接他的電話。 理論上他應該要生氣,但他氣不起來。他腦
Thumbnail
過端午節要吃棕子,賽龍舟,現在還放一天假。這都是托屈原的福,得感謝他,是他投江自盡用生命帶給後人的福利。  屈原非常有才華,是中國文學史上第一位留下姓名的偉大詩人。在他的時代,他獨步詩壇。春秋戰國時代,沒有能和他比肩的詩人。我覺得,如果端午節要紀念屈原,那就多宣揚些他的文學成就吧! 過端午節念
Thumbnail
【記者_許家源/雙北報導】 隨著端午節的來臨,臺北市各校紛紛舉辦親子活動,讓孩子們在歡慶的氛圍中認識傳統節慶文化。近日,臺北市中正區螢橋國民小學結合食米學園計畫、食農教育及營養教育,成功辦理了一場別開生面的親子端午節慶活動——「包粽趣」。透過體驗包粽子,孩子們不僅了解了台灣米食的特色,更感受到了米食
Thumbnail
疫情下的端午假期,沒有和家人團聚,沒有和朋友遠遊,但,我們還有一棵橘樹。千年以前,屈原也如是相信著。今早,散步的我,瞥見了鄰居窗前的小樹,結果了。白花、綠果,那是一棵柑橘。這讓我想起,少年屈原,曾以橘喻己,藉寫橘來明志,有〈橘頌〉傳世。生命不會停下腳步,世界再荒蕪,家門前,我們永遠還有一棵橘樹。
Thumbnail
泌尿科應該是醫療科別中最令人難以啟齒與希望逃避的科別,卻在作者風趣搞笑的描述下,將許多現代人對於某些隱私處的迷思一一表達出來並解釋,不僅是達到了一定程度的釐清與科普,更讓人對於泌尿科有更多的認識,此作應該也是醫療月中最輕鬆詼諧的作品了(笑)。
Thumbnail
參加者聯繫,也可視為消費者常見問題集(客服),本篇分成 #報名前、#報名後、#活動前、#活動後 四個階段,列舉我過往遇到的消費者常見問題。
Thumbnail
講者邀約(講師邀約)看起來很 SOP,但其實都有一些經驗法則可參考,本篇將過去的講者邀請步驟打成列點,也作為之後活動的參考依據。