游戏技术文章

区块链开发(一)如何搭建基于以太坊的私有链环境?Ubuntu下搭建方法是什么?

时间:2019-4-5 19:39:55  作者:棋牌资源网  来源:棋牌资源网 www.pahuai.com  查看:4894  评论:0
内容摘要:通过本文所述方法和项目中的脚本,我们可以快速的搭建好自己的私有链进行区块链开发测试,本文基于以太坊技术进行搭建,分两个部分,一个是Ubuntu下搭建方法,另一个是Windwos下搭建方法,关于以太坊相关的基础知识,可以看我原先发表的一些文章,地址如下:http://www.085...
通过本文所述方法和项目中的脚本,我们可以快速的搭建好自己的私有链进行区块链开发测试,本文基于以太坊技术进行搭建,分两个部分,一个是Ubuntu下搭建方法,另一个是Windwos下搭建方法,关于以太坊相关的基础知识,可以看我原先发表的一些文章,地址如下:http://www.08571.com/?pahuai.com
区块链开发(一)如何搭建基于以太坊的私有链环境?Ubuntu下搭建方法是什么?

一、Ubuntu下安装Geth客户端

之所以采用Ubuntu,是因为以太坊的官方对Ubuntu支持的很好,是在各个linux系统中安装最简单。

Geth官方安装指南:

https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum

进入ubuntu命令行,执行如下命令
区块链开发(一)如何搭建基于以太坊的私有链环境?Ubuntu下搭建方法是什么?

系统联网执行后,即完成了安装以太坊客户端,其中包括geth,bootnode, evm, disasm, rlpdump,ethtest

此时如果输入Geth命令,会出现启动以太坊启动的画面

二、安装Windows下Geth客户端

Windows必须64位系统,从官方网站下载编译好的win64客户端,解压缩即可运行,下载地址如下:https://github.com/ethereum/go-ethereum/releases/

下载后,只有一个Geth.exe的文件。

安装图像化客户端Mist,依然是从官方地址下载编译好的客户端即可,下载地址:https://github.com/ethereum/mist/releases/

下载解压缩后,Ethereum-Wallet即为以太坊图形化界面。

三、准备创世块文件

配置自己的创世块是为了区分公有链,同一个网络中,创世块必须是一样的,否则无法联通,此方法在windows和Ubuntu下通用。

新建文件piccgenesis.json,输入如下内容并保存

区块链开发(一)如何搭建基于以太坊的私有链环境?Ubuntu下搭建方法是什么?

解释一下各个参数的作用:

mixhash

与nonce配合用于挖矿,由上一个区块的一部分生成的hash。注意他和nonce的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章节所描述的条件。.

nonce

nonce就是一个64位随机数,用于挖矿,注意他和mixhash的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章节所描述的条件。

difficulty

设置当前区块的难度,如果难度过大,cpu挖矿就很难,这里设置较小难度

alloc

用来预置账号以及账号的以太币数量,因为私有链挖矿比较容易,所以我们不需要预置有币的账号,需要的时候自己创建即可以。

coinbase

矿工的账号,随便填

timestamp

设置创世块的时间戳

parentHash

上一个区块的hash值,因为是创世块,所以这个值是0

extraData

附加信息,随便填,可以填你的个性信息

gasLimit

该值设置对GAS的消耗总量限制,用来限制区块能包含的交易信息总和,因为我们是私有链,所以填最大。

四、启动私有链节点

启动Geth即可以启动以太坊的区块链,为了构建私有链 ,需要在Geth启动时加入一些参数,Geth参数含义如下: 

identity

区块链的标示,随便填写,用于标示目前网络的名字

init

指定创世块文件的位置,并创建初始块

datadir

设置当前区块链网络数据存放的位置

port

网络监听端口

rpc

启动rpc通信,可以进行智能合约的部署和调试

rpcapi

设置允许连接的rpc的客户端,一般为db,eth,net,web3

networkid

设置当前区块链的网络ID,用于区分不同的网络,是一个数字

console

启动命令行模式,可以在Geth中执行命令

1、在Ubuntu启动区块链节点

在Ubuntu下,首先切换到打算运行的目录,目录下应该有配置好的piccgenesis.json文件,执行如下命令
区块链开发(一)如何搭建基于以太坊的私有链环境?Ubuntu下搭建方法是什么?
区块链开发(一)如何搭建基于以太坊的私有链环境?Ubuntu下搭建方法是什么?
区块链开发(一)如何搭建基于以太坊的私有链环境?Ubuntu下搭建方法是什么?
区块链开发(一)如何搭建基于以太坊的私有链环境?Ubuntu下搭建方法是什么?

personal.newAccount()

系统会提示你输入账号密码,并确认,最后会显示一个新生成的账号。

六、启动Windows下私有链图形节点

首先按上面的步骤启动Geth并创建了账号,然后解压缩Ethereum-Wallet,运行Ethereum-Wallet.exe,即启动成功,如果区块链正常的话,会在右上角显示“PRIVATE-NET”,点击“LAUNCH APPLICATION”进入图形界面即可。

七、连接其他节点

首先要知道自己的节点信息,在Geth命令行界面下输入命令,注意大小写
区块链开发(一)如何搭建基于以太坊的私有链环境?Ubuntu下搭建方法是什么?

如果添加成功,输入admin.peers会显示出新添加的节点。

八、使用节点进行挖矿

在Geth命令行界面下,输入miner.start()即启动挖矿,挖矿后,会不停刷屏,输入miner.stop()即停止,不用管刷屏导致的命令不全,命令会正常执行。

到这一步,已经组建一个私有链的网络,可以像其他区块链一样不停的扩充这个网络,下一篇文章,我会介绍如何在私有链上编写、调试和部署智能合约。

参考文章:

1. http://tech.lab.carl.pro/kb/ethereum/testnet_setup

2. http://www.ethdocs.org/en/latest/network/test-networks.html#setting-up-a-local-private-testnet

3. https://github.com/ethereum/go-ethereum/wiki/Connecting-to-the-network

4. https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console

5. https://github.com/ethereum/go-ethereum/wiki/Mining

6. https://github.com/ethereum/go-ethereum/wiki/Managing-your-accounts

7. https://github.com/janx/ethereum-bootstrap

标签:区块链开发搭建 以太坊私有链环境方法 

欢迎加入VIP,【VIP售价:只要288元永久VIP会员】畅享商业棋牌游戏程序下载,点击开通!

下载说明


☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,

☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!

☉唯一站长QQ:1004003180  [人格担保-本站注重诚信!]

☉购买建议E-mail:1004003180@qq.com   源码收购 E-mail:1004003180@qq.com    

☉本站文件解压密码  【文章内都自带解压密码,每个密码不同!】


本站提供的所有源码,均来源站长提供,仅学习交流 浙ICP备09009969号

由此产生不良后果和法律责任与本站无关,如果侵犯了您的版权,请来信告知 1004003180@qq.com 将及时更正和删除! 

Copyright © 2008-2024 棋牌资源网,你身边的棋牌资源下载站    All Rights Reserved