之所以采用Ubuntu,是因为以太坊的官方对Ubuntu支持的很好,是在各个linux系统中安装最简单。
Geth官方安装指南:
https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum
进入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,输入如下内容并保存
解释一下各个参数的作用:
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文件,执行如下命令
personal.newAccount()
系统会提示你输入账号密码,并确认,最后会显示一个新生成的账号。
六、启动Windows下私有链图形节点
首先按上面的步骤启动Geth并创建了账号,然后解压缩Ethereum-Wallet,运行Ethereum-Wallet.exe,即启动成功,如果区块链正常的话,会在右上角显示“PRIVATE-NET”,点击“LAUNCH APPLICATION”进入图形界面即可。
七、连接其他节点
首先要知道自己的节点信息,在Geth命令行界面下输入命令,注意大小写
如果添加成功,输入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
下载说明
☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,
☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!
☉唯一站长QQ:1004003180 [人格担保-本站注重诚信!]
☉购买建议E-mail:1004003180@qq.com 源码收购 E-mail:1004003180@qq.com
☉本站文件解压密码 【文章内都自带解压密码,每个密码不同!】