区块链开发环境搭建_第1页
区块链开发环境搭建_第2页
区块链开发环境搭建_第3页
区块链开发环境搭建_第4页
区块链开发环境搭建_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、区块链开发环境搭建前言本章主要总结在基于Ubuntu14.04系统上搭建区块链开发平台的过程。目前搭建区块链开发环境还是比较复杂,推荐使用MacOSX和Linux操作系统,目前不建议使用Windows,可能会碰到各种各样的问题,最后导致放弃。注意: 安装软件的时候,尽量使用ubuntu系统官方的apt源。由于国内很多公司,例如阿里,网易,腾讯等都免费提供apt源,在有的时候当然可以加快我们安装软件的速度。但是,在安装本章所介绍的软件的时候我就遇到了各种错误,后来更换了ubuntu的官方apt源后有些问题就没有了。 在使用npm安装某些软件的时候,建议不要使用cnpm国内镜像,否则装完可能会出现

2、问题。 由于区块链相关技术领域处于新兴阶段,变化很快,该章环境搭建仅供参考。搭建基于以太坊go-ethereum的私有链环境go-ethereum客户端以太坊有许多不同语言的客户端实现(即多种与以太坊网络交互的方法),包括C+,Go,Python,Java,Haskell等等。为什么需要这么多实现?不同的实现能满足不同的需求(例如Haskell实现的目标是可以被数学验证),能使以太坊更加安全,能丰富整个生态系统。我使用的是Go语言实现的客户端geth,该客户端也是官方推荐使用的客户端,稳定性较好,并且资料相对较多。安装命令:打开终端窗口,依次输入以下命令:1 sudoapl-ge-tinsta

3、llsofturareprflpeT11es-conunon2 sudoadd-aptrepotory-yppa:etherewi/ethersum3 sudoadd-apt-repository-yppa:ethersum/fttheieum-dev4 sudoapHzg&tupdate5 sudoapt-getinstalleth虹日皿安装测试:安装完成后在终端输入:1geth-heIp如果显示出各种参数提示信息,则说明安装成功。创世块在以上安装成功之后,直接启动,即可连接公有链。现在通过配置创世块来创建私有链。同一个网络中,创世块必须是一样的,否则无法联通。创建一个eth的根目录,在根目

4、录下新建创世块json文件piccgenesis.json。内容如下:(nonce:0x0000000000000042,mixhash:0x0000000000000000000000000000000000000000000000000000000000000000,difficulty:0x400,alloc:,coinbase:0x0000000000000000000000000000000000000000”,timestamp:0x00,parentHash:0x00000000000000000000000000000000000000000000000000000000000

5、00000,extraData:PICCGenesisBlock,gasLimit:0xfffffff参数解释:参数名称参数描述mixhash与nonce配合用于挖矿,由个区块的一部分生成的hash。注意他和nonce的设置需要满足以太坊的Yellowpaper,4.3.4.BlockHeaderValidity,(44)章节所描述的条件。.noncenonce就是一个64位随机数,用于挖矿,注息他和mixhash的设置需要满足以太坊的Yellowpaper,4.3.4.BlockHeaderValidity,(44)章节所描述的条件。difficulty设置当前区块的难度,如果难度过大,cp

6、u挖矿就很难,这里设置较小难度alloc用来预置账号以及账号的以太币数量,因为私有链挖矿比较容易,所以我们不需要预置有币的账号,需要的时候自己创建即可以。coinbase矿工的账号,随便填timestamp设置创世块的时间戳parentHash个区块的hash值,因为是创世块,所以这个值是0extraData附加信息,随便填,可以填你的个性信息gasLimit该值设置对GAS的消耗总量限制,用来限制区块能包含的交易信息总和,因为我们是私有链,所以填最大。注意:区块难度difficulty一定要小,否则使用起来挖矿将会很困难,就没有账户金额进行开发实验;可以通过alloc在该文件中预分配账户和以

7、太币启动私有链节点启动节点所需参数列表:参数名称参数描述identityH块链的标本,随便填写,用于标示目前网络的名字initdatadir1旨定创世块文件的位置,并创建初始块设置当前区块链网络数据存放的位置p0rtH络监听端口rpc启动rpc通信,可以进行智能合约的部署和调试rpcapi设置允许连接的rpc的客户端,一M为db,eth,net,web3networkid设置当前区块链的网络id,用于区分不同的网络,是一个数console启动命令行模式,可以在Geth中执行命令终端进入配置好的创世块文件目录。输入以下命令初始化创世块:geth-datadir./ethdevinitpiccge

8、nesis.jsongeth-identityPICCetherum-rpc-rpccorsdomain*-datadir./ethdev-port30303”-rpcapi”db,eth,net,web3”-networkid95518console-dev注意:添加一dev表示以开发模式启动。私有链数据存储的目录要与公有链分开。看到以下输出说明私有链启动成功:文件时里辑间宜有刖椎索俗)终端由阳助忸11231388112313488112311123122:21:51*57999122:21:51,68002122:1:51468205122:21:51.826004care/blockch

9、atn.go:226Lastblock:core/blockchain.go:221Fastblock:#15e97b5eO0.TD=210p2p/server.go:342StartingServerp2p/discover/udp.go:227Listening.enode:/161ea0933b4deee8S758die4a91cdS4ad3eici7242eee4255i77bdb5d3977a8eibl7fe9d6c3daO6e9471did915S503fe78Z61a33Ga7C66432d9f9dec0d9bO4513i:55739112311122111231h.ipc112

10、3154522:21:53.82628122:21:53,82637022:21:53.82904722:21:53.829939whispe/whispew2/*hispE.go:176Whisperstartedp2p/server.go:61&Ltstentngon:40284node/node,go:341IPCendpointopened:/hame/huang/dev/getnode/nodego:4iiHTTPendpointopened:http:/localhost:BUelconetotheCethJavaScriptconsole!instance:coinbase:at

11、block:datadir:modules:Geth/PICCetherun/vl,5,5-stable-ff07d548/llnux/gol.7,30x8ad6349c613666al6cc949O97e429ec3fea3ba6c15(Hedf2SDec291666:07:45CST/home/huang/devadmin:1.&debuQ:1.ð:1.0minerj1.0net:1.0personal:1.0rpc:1.0shh:1.0txpool:l.Qweb3:1.0Node.js环境搭建由于以太坊开发框架truffle的安装需要依赖于node.js中的npm命令,下文简要介绍

12、以下node.js的安装过程。Node.js官网:http:/WinduwiInstallerWindowsBinjryl.tfxemacOSInstiller(.pkgimafOSBinaries(.ur.gz)LinuxBinaries(m6364jLinuxBlntriH(ARM)Windowsinstal?r.MacintoshInstallerSourceCode32-bh:Mbit32-bit64-bltARM崎ARMWARMvS从官网中下载稳定的版本,需要注意的是,由于网络原因,网络上有些教程推荐使用cnpm,然而使用cnpm代替npm有可能安装的软件

13、会出现一些问题。依赖安装安装nodeJS之前,如果没有安装g+及libssl-dev,则先要安装好,安装方法如下:1 $sudoapt-getinstallg+2 $sudoapt-gtinstalllibssl-dcTnodejs安装第一步,解压:taryvfnode-v.:1.1linn;!-K6iTtar,xs第二步:为node和npm建立两个软连接,使之可以全局运行:(第一个路径为安装程序所在路径)1 In-Aome/zhuzi/app/nodejisAiade-v6.9.1Ain/node/usr/local/bin/node23 Ins/hojKe/ahuES/app/nodejs/node-v%1/bin/upm辱工,ocmL/bid/np*第三步:安装测试noder输出版本号1npm-v输出版本号,说明安装成功三、Truffle开发框架搭建Truffle是以太坊最受欢迎的一个开发框架,它帮你处理掉大量无关紧要的小事情,让你可以迅速的进入写代码-编译-部署-测试-打包Dapp这么一个较成熟的开发流程。下面简要介绍如何搭建truffle开发框架。git安装在安装truffle之前需要核实一下本机是否安装Git程序。后面的程序安装需要依赖gi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论