前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >教程 | 只用5步,教你从零用Truffle打造第一个以太坊Dapp!

教程 | 只用5步,教你从零用Truffle打造第一个以太坊Dapp!

作者头像
区块链大本营
发布2018-05-11 15:00:56
1.7K0
发布2018-05-11 15:00:56
举报
文章被收录于专栏:区块链大本营区块链大本营

内容 | Space-O Technologies

编译 | Aholiab

以太坊是区块链开发领域最好的编程平台,而Truffle是以太坊(Ethereum)最受欢迎的一个开发框架,最近营长也收到很多询问如何开发Dapp的咨询,这是我们营长今天打算介绍一下Truffle的原因。

俗话说,Talk is cheap,实战是最重要的事情,这篇文章不讲原理,只讲如何搭建环境,手把手教你运行第一个区块链程序(Dapp)

什么是以太坊Dapp?

简单来说,以太坊Dapp是一个去中心化的web应用,这个应用可以被内嵌到以太坊的网络中。与一般的web应用相比,以太坊Dapp在以下两点有所不同。

  • 以太坊Dapp是与以太网的网络进行交互,而不是服务器;
  • 以太坊Dapp需要用特定的浏览器来打开,因为普通的浏览器无法连接到以太坊的网络中。

不过以太坊也提供了一个叫做Web3的JavaScript API,用以接入以太坊的网络。而今天我们要谈的MetaMask和Mist是两个Web3上的浏览器,这两个浏览器相互兼容。而与其把MetaMask成为浏览器,不如把他看成一个Chrome浏览器的插件。

如果你已经有Node.js基础并且做过一些web开发,那么这篇文章就刚好是为你写的。

开发以太坊Dapp需要用到以下三个工具:

  • Truffle;
  • TestRPC;
  • MetaMask。

关于三个开发工具

在使用这三个工具开发前,我们先来了解一下上面提到的这三个工具。

Truffle。Truffle是以太坊最受欢迎的开发框架,同时他也是开发环境和asset pipeline,它的作用是帮助开发者在区块链上部署智能合约,包括用新的合约来替换旧的合约,以及在已经部署的合约上挂载前端。

简单来说,Truffle提供了很多实用的功能,包括对合约部署的管理,与合约交互的概念,以及对合约的测试支持等。

TestRPC。TestRPC是一个基于Node.js的使用内存模拟的一个以太坊环境,它主要用于开发和测试。TestRPC完全运行在本地,因此运行速度比以太坊的真实环境快很多,是目前比较好的开发和测试环境。不过TestRPC只能用于开发,对于产品层面的帮助不大。你可以再上面部署合约,并且像在以太坊的真实环境中一样与合约进行交互。

MetaMask。正如前文所说,MetaMask是一款在Chrome上使用的插件类型的以太坊钱包。用户不需要下载,需要再Chrome浏览器上添加对应的扩展程序即可,非常轻量。简单来说,MetaMask允许用户与在Chrome中与Dapps进行交互。

闲话少说,说干就干!

接下来就跟着营长开发你的第一个Dapp吧!假定你是第一次开发Dapp,那么首先你要安装NPM(Node Package Manager),在NPM安装完成后,我们依次安装Truffle和TestRPC。

这里提一下NPM和NPM的安装。NPM的作用是帮助开发者分享和复用代码,也可以通过它来更新已经分享的代码

由于NPM分部在Node.js之上,因此你需要先下载Node.js,当Node.js下载完成后,NPM就已经被自动安装了。这时你可以通过以下代码进行检验。

小提示:

Node.js支持Windows、Linux、Mac OS X系统。推荐使用Mac OS X,不建议使用Windows,会碰到各种各样的问题,导致放弃。

输入以下命令,检查Node.js是否被安装:

输入以下命令,检查NPM是否被安装:

关于NPM的安装,你还可以在以下地址查看详细的安装步骤:

https://www.npmjs.com/get-npm

第1步:安装TestRPC

开发以太坊Dapp,第一件要做的事情就是安装TestRPC。最简单的安装方法就是「全局安装」(Globally),你可以通过以下命令来实现:

需要留意的是,TestRPC需要Node.js的版本在6.9.1以上,如果你安装的版本较低,可以通过版本切换工具nvm去切换不同的版本

安装完之后,你就可以新建第一个项目了。可以通过以下命令实现:

$ mkdir zhaoxi

$ cd zhaoxi

$ truffle init

这时会默认生成一个MetaCoin的Demo,可以从这个Demo中学习Truffle的架构。

项目目录结构如下图所示:

项目所有文件目录如下图所示:

第2步:安装Truffle

接下来就进入到了Truffle的安装,Truffle是眼下最受欢迎的以太坊开发框架,最简单的安装方法是将其安装为一个全局NPM包(global npm package)。你可以通过以下代码来安装Truffle:

第3步:安装MetaMask

你可以在以下地址安装MetaMask:

https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en

安装完MetaMask后,我们就开始进入正式的Dapp的开发了。首先我们需要在后台运行TestRPC。

第4步:运行TestRPC

通过以下代码,我们可以很简单地运行TestRPC:

这一指令将启动开发环境,并且生成用以太币进行先行融资(Prefunded)的账户列表,以及与各账户对应的私钥。

第5步:完成你的第一个Dapp!

到这一步,开发环境已经搭建好,可以开始部署你的第一个以太坊Dapp了!这里我们先生成一个最简单的Dapp,也就是Truffle中系统默认的货币类型。

可以通过以下代码来实现:

大功告成!是不是很简单呢?现在你可以在你的浏览器上,通过这个网址查看你的Dapp了:http://localhost:8080

接下来到了你大显身手的时候了,去在这个Dapp上实现你的idea吧!

在未来的文章中,营长还将继续为大家带来通过Solidity语言创建以太坊智能合约,并给出更多的实践示例。

本文编译自:Space-O Technologies;博主@jeason29对本文亦有贡献;

原文链接:https://www.spaceotechnologies.com/develop-ethereum-dapp-metamask-truffle-tutorial/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 区块链大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档