ERC721以太坊通證明戰教程

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

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

簡介

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

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

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

一旦將資產通證化之後,就能夠進行交換。在課程中咱們還將實現一個簡單的通證交易所,每一個人均可以在交易所購買其餘人的NFT通證,也能夠掛單出售本身的通證:android

項目技術棧

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

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

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

爲了便於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語言工程師快速入門區塊鏈開發的最佳選擇。
相關文章
相關標籤/搜索