实战:以太坊 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/…

相关文章
相关标签/搜索