ERC721以太坊通證實戰教程

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

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

簡介

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

ERC721以太坊通證實戰教程

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

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

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

ERC721以太坊通證實戰教程

項目技術棧

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

ERC721以太坊通證實戰教程

項目應用的開發主要包含兩部分:智能合約的開發以及前端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以太坊通證實戰》

=======================================================

分享一些以太坊、EOS、比特幣等區塊鏈相關的交互式在線編程實戰教程:

  • java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
  • php以太坊,主要是介紹使用php進行智能合約開發交互,進行賬號創建、交易、轉賬、代幣開發以及過濾器和交易等內容。
  • python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
  • 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
  • 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括賬戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
  • EOS教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、賬戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
  • java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如創建地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
  • php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如創建地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
  • tendermint區塊鏈開發詳解,本課程適合希望使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操代碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章