本文編譯自Amir Soleymani
在NFT領域成為藝術家,其中一個方面是在區塊鏈上擁有自己的出處,沒有什麼比擁有自己的智能合約更能證明這一點。
通過擁有自己的智能合約,你將能夠在一個收藏品系列中以自己的名義下鑄造作品。
當然,當你計劃在Opensea這樣的開放市場上出售你的物品,你將無法在任何其他平台上出售你的智能合約中的作品。
擁有自己的智能合約和鑄幣的工作並不是一個容易的過程,首先你必須對區塊鏈領域的技術和相關術語有基本的了解。
這個過程包括:
- 編寫一個智能合約,你可以在區塊鏈上鑄造無形的代幣(獨特的作品)
- 將該智能合約部署在區塊鏈上
- 在etherscan上驗證源代碼
- 創建元數據文件並將其與實際的圖片(可以是圖像、視頻,甚至是Javascript/HTML代碼)一起上傳到IPFS。
- 通過連接代幣、元數據和藝術品,將它們綁定到區塊鏈上,並在區塊鏈上鑄造作品。
對此,我編寫了一個簡單的智能合約,允許你鑄造無限的獨特作品,每個作品都有自己的元數據(tokenURI)。你也可以銷毀代幣,仍然能夠控制智能合約的所有其他標準功能。
可以在此處查看合約源代碼:
在此源代碼中,你需要更改3個部分來對其進行自定義:
第1358行#YOURCONTRACTNAME#(你的合約名稱)
無論你的合約/收藏是什麼。例如,MondoirPhotographyCollection。注意,這不能有任何空格。
第1370行#你的合同名稱# & #SYMBOL#
名稱相同,但在這裡你可以使用空格,例如:Mondoir Photography Collection。符號是代幣名稱。這可能有點令人困惑,但它基本上是類似ETH和BTC的東西。因此,請隨意使用你的收藏品名稱的某些部分,例如:MPC(代表Mondoir Photography Collection)。
這就是定制你的合約。
你現在需要到Remix去部署你的合約。 Remix IDE是一個開源的Web 和桌面應用程序。它促進了快速開發週期,並擁有豐富的插件和直觀的GUI。
參考A1
在Remix網頁的左側,有一個文件瀏覽器。
點擊Single Sheet(編號1),創建一個新文件。將此文件命名為你的智能合約名稱,以.sol結尾。所以你的文件名應該是這樣的:myContract.sol
然後復制我github頁面上的合約源代碼的內容,並將其粘貼到你剛剛創建的文件中。
你可以在此處更新我之前提到的那3項內容。 (第1358行和1370行),並且不要忘記刪除# 符號。
下一站,轉到第2項(參考A1圖片)來編譯你的合約。確保你的屏幕和選項和上圖看起來相同,然後按編譯(Compile)。
如果你選擇了自動編譯(Auto Compile),它可能已經編譯了你的合約,但再次編譯也無妨。
一旦完成,進入菜單3,將合約部署到以太坊網絡上。
現在,根據你的需要,你可能想把它部署到testnet上測試你的合約,在這種情況下,你可以使用這個列表中的虛擬機(VM)。
如果你想使用末的元掩碼並在主網或測試網上部署,請使用Web3提供程序並連接你的元掩碼。
確保在合約部分選擇了正確的合約,然後按部署(Deploy)。
部署成功後,你應該看到“部署(Deploy)”按鈕下面的合約名稱和地址。
通過單擊合約名稱和地址前面的2個堆疊文件複製合約地址,然後轉到etherscan以驗證你的合約。
根據你的網絡,如果你選擇在主網部署,你可以到https://etherscan.io/,如果在測試網,可以到https://rinkeby.etherscan.io/ 或https://ropsten.etherscan.io/。
在Etherscan上,將你的合約地址粘貼到搜索欄上,然後進入你新創建的合約。
進入“合約”標籤,然後點擊驗證和發布鏈接。
根據Remix選擇編譯器類型、版本和許可證類型。
最後,回到Remix並複制合約源代碼。
根據上圖,粘貼合約源代碼並選擇優化選項“是”。
重要提示:
在這個階段,你可能會收到錯誤信息。我在Chrome瀏覽器上遇到了這個問題。如果你遇到這個問題,可以嘗試使用Safari瀏覽器。
在點擊驗證和發布後,Etherscan應該讀取你的合約源代碼,找出這個合約的ABI並驗證它。
驗證您的合同後,你將能夠在合約標籤上用新增加的讀寫按鈕與它進行交互。在寫入部分,你將能夠鑄造新的作品。
實際鑄造工作
為了鑄造,你需要創建元數據json文件,並將其與圖像/視頻/html 文件一起上傳到IPFS。此前我曾解釋過這個話題:
一旦你的文件在IPFS上,可以獲取你的metadata.json文件的鏈接,然後轉到ethersan和你的合約頁面。
在那裡寫入,然後是mint(鑄造)。
在這裡,你可以選擇要將這個新創作的作品發送到哪個地址。很明顯,這將是你自己的地址。然後你可以為這個作品選擇一個代幣ID。這是一個數字,只要它沒有在你的智能合約中使用過,就完全由你來決定。為你的作品想出一個編號系統是一個很好的做法。
例如,靜止圖像以0001開頭,然後將下一個作品添加到索引(index)中。
然後在tokenURI上,將鏈接粘貼到工作的metadata.json文件,並按mint。確保你的metamask已連接,並且你有足夠的ETH支付gas費。一旦完成,新鑄造的作品將在你的opensea帳戶上可用,你可以自由選擇如何出售。
這個智能合約允許你鑄造無限數量的獨特作品,每個作品都有自己的代幣ID和tokenURI。