本課程以一個(gè)數(shù)字藝術(shù)品創(chuàng)作與分享DApp的實(shí)戰(zhàn)開發(fā)為主線,深入講解以太坊非同質(zhì)化通證的概念、標(biāo)準(zhǔn)與開發(fā)方案。課程內(nèi)容即包含ERC-721標(biāo)準(zhǔn)的自主實(shí)現(xiàn)寝蹈,也講解如何基于經(jīng)過良好安全審計(jì)的OpenZeppelin合約代碼庫進(jìn)行二次開發(fā),實(shí)戰(zhàn)項(xiàng)目采用Truffle開發(fā)框架登淘,使用IPFS保存通證元數(shù)據(jù)箫老,同時(shí)實(shí)現(xiàn)了通證以及去中心化的通證交易所。課程內(nèi)容深入淺出黔州,是開發(fā)者學(xué)習(xí)以太坊ERC721通證應(yīng)用開發(fā)的最佳選擇耍鬓。
這里是學(xué)習(xí)地址:《ERC721以太坊通證實(shí)戰(zhàn)》
簡介
在這個(gè)課程里,我們將通過深入一個(gè)類似于加密貓(CryptoKitties)的 去中心化數(shù)字藝術(shù)品創(chuàng)作與分享應(yīng)用的開發(fā)過程流妻,學(xué)習(xí)非同質(zhì)化通證(NFT:Non-Fungible Token)的基本概念牲蜀、應(yīng)用場(chǎng)景與開發(fā)實(shí)施方案:
和加密貓一樣,我們的課程應(yīng)用中的每個(gè)數(shù)字資產(chǎn)都是獨(dú)一無二的绅这,事實(shí)上涣达, 它們就是使用不同參數(shù)生成的形狀各異的隨機(jī)圖(Random Graphp),可以認(rèn)為每個(gè)隨機(jī)圖的唯一性賦予它收藏的價(jià)值证薇,因此我們可以將其視為一種藝術(shù)品度苔。在這個(gè)課程中,我們將學(xué)習(xí)如何生成隨機(jī)圖藝術(shù)品并將這一數(shù)字資產(chǎn)通證化浑度。
每個(gè)人都可以有自己的方法將數(shù)字資產(chǎn)通證化寇窑,不過以太坊已經(jīng)有了針對(duì)非同質(zhì)化通證的標(biāo)準(zhǔn):ERC-721。在課程中箩张,我們將完整地講解ERC-721標(biāo)準(zhǔn)的方方面面甩骏,不僅從頭實(shí)現(xiàn)一個(gè)ERC-721兼容的通證合約,同時(shí)也會(huì)講解如何利用經(jīng)過安全審計(jì)的OpenZeppelin合約代碼庫進(jìn)行二次開發(fā)先慷。
一旦將資產(chǎn)通證化以后饮笛,就可以進(jìn)行交換。在課程中我們還將實(shí)現(xiàn)一個(gè)簡單的通證交易所熟掂,每個(gè)人都可以在交易所購買其他人的NFT通證缎浇,也可以掛單出售自己的通證:
項(xiàng)目技術(shù)棧
由于這是一個(gè)中級(jí)課程扎拣,因此需要你對(duì)區(qū)塊鏈/以太坊以及下面的技術(shù) 有一些基本的了解和認(rèn)識(shí)赴肚,這樣會(huì)更有利于課程以及課程項(xiàng)目的完成:
項(xiàng)目應(yīng)用的開發(fā)主要包含兩部分:智能合約的開發(fā)以及前端UI的開發(fā)素跺。
課程項(xiàng)目使用solidity(版本0.5)來開發(fā)以太坊智能合約,并對(duì)涉及到的solidity新特性進(jìn)行說明誉券。前端用戶界面的開發(fā)則使用標(biāo)準(zhǔn)的前端五件套:HTML指厌、CSS、JavaScript踊跟、jQuery踩验、Bootstrap,當(dāng)然商玫,也需要 使用web3.js(版本1)來訪問區(qū)塊鏈箕憾。
為了便于DApp項(xiàng)目的開發(fā)和管理,課程使用truffle(版本2)框架進(jìn)行開發(fā)拳昌,truffle2預(yù)置的solidity編譯器支持solidity0.5袭异。除了可以繼續(xù)采用ganache-cli作為開發(fā)節(jié)點(diǎn)以外,truffle 2還包含了一個(gè)嵌入 的以太坊開發(fā)節(jié)點(diǎn)炬藤,這使得開發(fā)流程更加順暢御铃。
truffle框架提供了許多模板用于項(xiàng)目的快速開發(fā),這些項(xiàng)目模板被稱為box沈矿。為了充分利用ES2015的新特性來使課程代碼更加容易閱讀上真,我們使用webpack模板。在truffle 2中的webpack模板是基于webpack 4實(shí)現(xiàn)羹膳。
最后睡互,課程項(xiàng)目使用去中心化文件系統(tǒng)IPFS來保存通證的元信息。
課程內(nèi)容安排
本課程是一個(gè)中級(jí)課程陵像,適合具備一定以太坊開發(fā)基礎(chǔ)的區(qū)塊鏈工程師湃缎,課程內(nèi)容安排如下:
第一章、課程簡介
介紹課程要完成的項(xiàng)目蠢壹,以及項(xiàng)目實(shí)現(xiàn)所使用的技術(shù)棧嗓违。
第二章、通證簡明指南
學(xué)習(xí)通證的基本概念图贸、分類蹂季、應(yīng)用場(chǎng)景與生成機(jī)制。
第三章疏日、項(xiàng)目需求分析與設(shè)計(jì)
理解課程項(xiàng)目的總體需求偿洁,學(xué)習(xí)項(xiàng)目應(yīng)用的設(shè)計(jì)思路,包括模塊劃分沟优、 界面原型與合約接口設(shè)計(jì)等涕滋。
第四章、生成隨機(jī)圖藝術(shù)品
了解隨機(jī)圖的基本概念與常用算法挠阁,掌握生成隨機(jī)圖的實(shí)現(xiàn)方法宾肺。
第五章溯饵、使用IPFS保存隨機(jī)圖藝術(shù)品
學(xué)習(xí)IPFS的基本概念、部署與使用方法锨用,掌握將隨機(jī)圖上傳到IPFS網(wǎng)絡(luò)的實(shí)現(xiàn)方法丰刊。
第六章、理解ERC721規(guī)范
學(xué)習(xí)ERC721規(guī)范中涉及的各種接口增拥,例如ERC721接口啄巧、ERC165接口等, 掌握各接口的關(guān)系與實(shí)現(xiàn)方法掌栅。
第七章秩仆、隨機(jī)圖通證合約實(shí)現(xiàn)
學(xué)習(xí)并掌握如何使用OpenZepplin合約開發(fā)庫實(shí)現(xiàn)隨機(jī)圖通證合約。
第八章猾封、應(yīng)用前端實(shí)現(xiàn)
學(xué)習(xí)如何在前端頁面中調(diào)用合約方法逗概,實(shí)現(xiàn)隨機(jī)圖通證生成頁面和瀏覽頁面。
第九章忘衍、實(shí)現(xiàn)簡單的通證交易所
學(xué)習(xí)交易所的基本概念逾苫,實(shí)現(xiàn)通證交易所合約,前端頁面增加對(duì)交易所功能 的支持枚钓。
這里是學(xué)習(xí)地址:《ERC721以太坊通證實(shí)戰(zhàn)》
=======================================================
分享一些以太坊铅搓、EOS、比特幣等區(qū)塊鏈相關(guān)的交互式在線編程實(shí)戰(zhàn)教程:
- java以太坊開發(fā)教程搀捷,主要是針對(duì)java和android程序員進(jìn)行區(qū)塊鏈以太坊開發(fā)的web3j詳解星掰。
- php以太坊,主要是介紹使用php進(jìn)行智能合約開發(fā)交互嫩舟,進(jìn)行賬號(hào)創(chuàng)建氢烘、交易、轉(zhuǎn)賬家厌、代幣開發(fā)以及過濾器和交易等內(nèi)容播玖。
- python以太坊,主要是針對(duì)python工程師使用web3.py進(jìn)行區(qū)塊鏈以太坊開發(fā)的詳解饭于。
- 以太坊入門教程蜀踏,主要介紹智能合約與dapp應(yīng)用開發(fā),適合入門掰吕。
- 以太坊開發(fā)進(jìn)階教程果覆,主要是介紹使用node.js、mongodb殖熟、區(qū)塊鏈局待、ipfs實(shí)現(xiàn)去中心化電商DApp實(shí)戰(zhàn),適合進(jìn)階。
- C#以太坊钳榨,主要講解如何使用C#開發(fā)基于.Net的以太坊應(yīng)用舰罚,包括賬戶管理、狀態(tài)與交易重绷、智能合約開發(fā)與交互沸停、過濾器和交易等膜毁。
- EOS教程昭卓,本課程幫助你快速入門EOS區(qū)塊鏈去中心化應(yīng)用的開發(fā),內(nèi)容涵蓋EOS工具鏈瘟滨、賬戶與錢包候醒、發(fā)行代幣、智能合約開發(fā)與部署杂瘸、使用代碼與智能合約交互等核心知識(shí)點(diǎn)倒淫,最后綜合運(yùn)用各知識(shí)點(diǎn)完成一個(gè)便簽DApp的開發(fā)。
- java比特幣開發(fā)教程败玉,本課程面向初學(xué)者敌土,內(nèi)容即涵蓋比特幣的核心概念,例如區(qū)塊鏈存儲(chǔ)运翼、去中心化共識(shí)機(jī)制返干、密鑰與腳本、交易與UTXO等血淌,同時(shí)也詳細(xì)講解如何在Java代碼中集成比特幣支持功能矩欠,例如創(chuàng)建地址、管理錢包悠夯、構(gòu)造裸交易等癌淮,是Java工程師不可多得的比特幣開發(fā)學(xué)習(xí)課程。
- php比特幣開發(fā)教程沦补,本課程面向初學(xué)者乳蓄,內(nèi)容即涵蓋比特幣的核心概念,例如區(qū)塊鏈存儲(chǔ)夕膀、去中心化共識(shí)機(jī)制栓袖、密鑰與腳本、交易與UTXO等店诗,同時(shí)也詳細(xì)講解如何在Php代碼中集成比特幣支持功能裹刮,例如創(chuàng)建地址、管理錢包庞瘸、構(gòu)造裸交易等捧弃,是Php工程師不可多得的比特幣開發(fā)學(xué)習(xí)課程。
- tendermint區(qū)塊鏈開發(fā)詳解,本課程適合希望使用tendermint進(jìn)行區(qū)塊鏈開發(fā)的工程師违霞,課程內(nèi)容即包括tendermint應(yīng)用開發(fā)模型中的核心概念嘴办,例如ABCI接口辟灰、默克爾樹惑申、多版本狀態(tài)庫等胰耗,也包括代幣發(fā)行等豐富的實(shí)操代碼苦蒿,是go語言工程師快速入門區(qū)塊鏈開發(fā)的最佳選擇霹崎。