ERC721以太坊通證實戰教程

本課程以一個數字藝術品創作與分享DApp的實戰開發爲主線,深入講解以太坊非同質化通證的概念、標準與開發方案。課程內容即包含ERC-721標準的自主實現,也講解如何基於經過良好安全審計的OpenZeppelin合約代碼庫進行二次開發,實戰項目採用Truffle開發框架,使用IPFS保存通證元數據,同時實現了通證以及去中心化的通證交易所。課程內容深入淺出,是開發者學習以太坊ERC721通證應用開發的最佳選擇。

這裏是學習地址:《ERC721以太坊通證實戰》

簡介

在這個課程裏,我們將通過深入一個類似於加密貓(CryptoKitties)的 去中心化數字藝術品創作與分享應用的開發過程,學習非同質化通證(NFT:Non-Fungible Token)的基本概念、應用場景與開發實施方案:

和加密貓一樣,我們的課程應用中的每個數字資產都是獨一無二的,事實上, 它們就是使用不同參數生成的形狀各異的隨機圖(Random Graphp),可以認爲每個隨機圖的唯一性賦予它收藏的價值,因此我們可以將其視爲一種藝術品。在這個課程中,我們將學習如何生成隨機圖藝術品並將這一數字資產通證化。

每個人都可以有自己的方法將數字資產通證化,不過以太坊已經有了針對非同質化通證的標準:ERC-721。在課程中,我們將完整地講解ERC-721標準的方方面面,不僅從頭實現一個ERC-721兼容的通證合約,同時也會講解如何利用經過安全審計的OpenZeppelin合約代碼庫進行二次開發。

一旦將資產通證化以後,就可以進行交換。在課程中我們還將實現一個簡單的通證交易所,每個人都可以在交易所購買其他人的NFT通證,也可以掛單出售自己的通證:

項目技術棧

由於這是一箇中級課程,因此需要你對區塊鏈/以太坊以及下面的技術 有一些基本的瞭解和認識,這樣會更有利於課程以及課程項目的完成:

項目應用的開發主要包含兩部分:智能合約的開發以及前端UI的開發。

課程項目使用solidity(版本0.5)來開發以太坊智能合約,並對涉及到的solidity新特性進行說明。前端用戶界面的開發則使用標準的前端五件套:HTML、CSS、JavaScript、jQuery、Bootstrap,當然,也需要 使用web3.js(版本1)來訪問區塊鏈。

爲了便於DApp項目的開發和管理,課程使用truffle(版本2)框架進行開發,truffle2預置的solidity編譯器支持solidity0.5。除了可以繼續採用ganache-cli作爲開發節點以外,truffle 2還包含了一個嵌入 的以太坊開發節點,這使得開發流程更加順暢。

truffle框架提供了許多模板用於項目的快速開發,這些項目模板被稱爲box。爲了充分利用ES2015的新特性來使課程代碼更加容易閱讀,我們使用webpack模板。在truffle 2中的webpack模板是基於webpack 4實現。

最後,課程項目使用去中心化文件系統IPFS來保存通證的元信息。

課程內容安排

本課程是一箇中級課程,適合具備一定以太坊開發基礎的區塊鏈工程師,課程內容安排如下:

第一章、課程簡介

介紹課程要完成的項目,以及項目實現所使用的技術棧。

第二章、通證簡明指南

學習通證的基本概念、分類、應用場景與生成機制。

第三章、項目需求分析與設計

理解課程項目的總體需求,學習項目應用的設計思路,包括模塊劃分、 界面原型與合約接口設計等。

第四章、生成隨機圖藝術品

瞭解隨機圖的基本概念與常用算法,掌握生成隨機圖的實現方法。

第五章、使用IPFS保存隨機圖藝術品

學習IPFS的基本概念、部署與使用方法,掌握將隨機圖上傳到IPFS網絡的實現方法。

第六章、理解ERC721規範

學習ERC721規範中涉及的各種接口,例如ERC721接口、ERC165接口等, 掌握各接口的關係與實現方法。

第七章、隨機圖通證合約實現

學習並掌握如何使用OpenZepplin合約開發庫實現隨機圖通證合約。

第八章、應用前端實現

學習如何在前端頁面中調用合約方法,實現隨機圖通證生成頁面和瀏覽頁面。

第九章、實現簡單的通證交易所

學習交易所的基本概念,實現通證交易所合約,前端頁面增加對交易所功能 的支持。

有關興趣的同學歡迎到這裏是學習:《ERC721以太坊通證實戰》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章