/ BLOCKCHAIN, INDUSTRY

以太坊實作非替代性代幣NFT

非替代性代幣 NFT 應用與實作

上一次我們講到了 非替代性代幣 NFT 最基礎的概念,也就是可以代表著不對等的兩樣物品的代幣,如果還不了解什麼是 NFT 可以進到 » 淺談非替代性代幣 NFT 了解一下 NFT 的概念,而今天我則要簡單地告訴大家如何實作出 NFT 來代表自己想代表的代幣。

這次實作先簡單的介紹一下使用的區塊鏈技術,我們使用以太坊上(Ethereum)的 ERC-721 做為建立的準則,ERC是什麼意思? ERC 的全名是 Ethereum Request for Comments,是做為以太坊上建立 Smart contract 的依據, 也是最多人用來建立 NFT 的依據,而 ERC-721 的內容簡單來說是代幣 [擁有] 與 [交易],現在就來使用 Solidity 來實作 NFT 吧!

這次我打算用 NFT 來代表農場裡飼主所養的動物,只要透過販賣的時候將 Token 轉交給購買者就可以使所有權轉移,現在就開始吧!

我們這次用三種不同種類的動物來代表 NFT 的代幣

首先先加入 ERC-721

這些便是 ERC-721 的註譯內容,而然後我們便要開始撰寫代幣的模式,我們先建立一個 Contract,就叫做 Farm 好了

Contract Farm is ERC721


建立一個 struct,有動物的種類與顏色,再來建立 Mapping,使 Token 可以對應到 Address,透過這樣的方式便可以確立 Token 的擁有者。


再來是紀錄的部分,將 Token 動向記錄到鏈上,這裡使用的是 emit。


再來我們就要實作出查詢的部分,總不能誰有幾個代幣,誰擁有哪個代幣都不知道吧?


在來的這一個階段是實作出交易功能,增加代幣的靈活性,也依照 ERC-721 給予的準則來驗證擁有者。


我把這支這能合約的重心放在最後一行,也就是 Create,這是這支智能合約的核心,代幣就是由這裡產出的。

輸入動物名稱以及顏色後,便可以生產出一個代幣囉!


小結

而以上就是透過 ERC-721 實作動物農場的全部內容了,可以改看看裡面的參數或是 Token 結構作為練習,也可以在 MetaMask 上實際操作一次看看,讓自己更加了解智能合約的運作方式 這次的實作 NFT 就到這裡了。
若文章有任何的問題或要討論的部分,歡迎透過以下方式聯繫我。

Aaron

Aaron

FromZeroToHero - Coder、Ethereum愛好者、CypherPunks-core 密碼龐克成員,喜歡研究各式各樣的 Dapp。

Read More