實戰:以太坊 DApp 開發與構建 - 李明 | Jeth 第二期

編者按:本文系 ConsenSys 中國特約講師李明,在由掘金技術社區主辦,以太坊社區基金會、以太坊愛好者與 ConsenSys 協辦的《開發者的以太坊入門指南 | Jeth 第二期 - 杭州場》 活動上的分享整理。Jeth 圍繞以太坊技術開發主題的系列線下活動。每期 Jeth 會邀請以太坊開發領域的優秀技術團隊和工程師在線下分享技術乾貨。旨在爲開發者提供線下技術交流互動機會,幫助開發者成長。前端

本場分享視頻回放連接(B 站)

你們下午好!我今天帶來的分享是DApp的開發與實踐。咱們將用40分鐘時間從頭寫一個DApp,學習以太坊智能合約開發。我將經過實踐的方式給你們作一個展現,但願你們在短期內能夠從0到1快速地瞭解以太坊全棧開發的核心知識。git

首先自我介紹一下,我曾在微軟亞研擔任了四年半的軟件工程師,以後在深圳多翼科技擔任研發總監。github

我在13年的時候第一次比特幣,並少許投資。14年是熊市,在發現不能賺錢之後,我開始作量化交易,在國內各個交易所之間作基於統計模型的搬磚套利,爲市場提供流動性。15年區塊鏈概念開始爆發,人們發現區塊鏈不僅是數字貨幣,還能夠作很是多的應用。這種新的認知引起了個人思考,因而從16年開始我開始研究區塊鏈的共識和智能合約的開發,在這個領域不斷探索。web

今天的分享主要內容以下:編程

  1. 從0到1構建一個以太坊DApp
  2. Solidity、Web前端語言
  3. 重要工具:Remix、Truffle、Ganache、Metamask

今天要講的 DApp 很是有特色。第一,它是一個很是有用的 App,你們能夠發現它能夠用來洗碗、買菜、作家務。二是這個 DApp 雖然很是有用,但代碼並不長,只有100行多一點,能夠比較快速開發完成。最後,雖然這個 DApp 代碼不長,但展現了 Solidity 語言的主要特性,甚至包含了一些你們須要注意的安全陷阱,因此但願你們經過這個 DApp 對 Solidity 編程有更多的瞭解。安全

那今天要講的 DApp 是什麼呢?就是石頭剪子布。這是咱們日常常常玩的遊戲。這個遊戲的一個問題是,每一個人出拳的速度不同,我是屬於比較笨的人,常常由於被別人看出想要出拳的手勢而吃虧。這個問題怎麼解決呢?生活中出現了一種很是有意思的方法,就是分歧終端機,出自《非誠勿擾》。服務器

它經過外殼把兩人的手套起來,倆人出好拳之後同時打開蓋子看結果,以免做弊。網絡

網絡版的分歧終端機?ide

那這種問題在計算機系統或者是網絡系統如何解決呢?這個問題確實有點難。假設咱們經過服務器作這個事情,咱們如何信任服務器?咱們也沒法保證服務器是否會做假。可是,這時候若是引入區塊鏈,當咱們要使用以太坊上的智能合約來開發這個系統,咱們會發現它的一些特性是能夠幫助咱們解決這個問題的。這就是咱們今天要講的基於以太坊的石頭剪子布 DApp。工具

接下來進入 Live Coding 環節,咱們將從0到1一塊兒見證 DApp 誕生過程,用到的第一個工具就是 Remix,算得上是以太坊開發的瑞士軍刀,它結合開發中的編輯、編譯、部署和測試等等功能,咱們先從這裏開始。

編輯注: Live Coding 環節無PPT,請參見 IT 大咖說視頻回放(2:56:50——3:48:40),連接: http://www.itdks.com/eventlist/detail/240

實戰項目 Demo 連接(GitHub):github.com/washingweb/…

相關文章
相關標籤/搜索