windows下区块链,私有链搭建详细教程(图文详解)

  最近在研究区块链。打算在windows上先搭建一个测试环境开始运行。这里记录整个搭建过程,供后来人参考。 整体上,分为三个步骤,安装相关软件,初始化系统,建立集群,以及最后一步,挖矿,部署智能合约以及其他各种用途。 我们采用的是以太坊,相对其他区块链,这是一个成熟的环境。 虽然近期有硬分支的事件,对企业应用来说,功能上还算是比较完善的。(备注:这里搭建的是私有链,小编的电脑还不能支持我搭建公有链)

  这里我们不对区块链的基本概念做解释,因为研究区块链的基本都知道,如果新手的话建议首先通过百度百科和书籍或者其他渠道了解区块链再去安装部署。

安装部署

1、  下载安装geth

首先下载geth,进入官网https://geth.ethereum.org/downloads/,选择windows版本。但是有些地方因为网络vpn的问题,无法通过官网下载可以去https://ethfans.org/wikis/Ethereum-Geth-Mirror下载,这是国内网站但是相对于官网geth版本更新较慢,如果使用Google Chrome下载的可能会提示文件危险,不用理会,选择保留即可。从官网进直接选择windows版本的geth下载如下图:

从国内网站下载的如下图:

这里小编选择从国内网站下载,下载完成之后,双击下载软件,首先选择 I  agree,然后next,安装路径选择按照默认路径安装即可,点击install(所有信息都会放置在这个路径下,若C盘空间过小,建议更改路径到其他空间较大的磁盘)

等待安装完成,然后点击close,进入安装目录,发现两个文件:

2、 初始化创始区块

首先初始化创世区块,在根目录下创建文本文件,重命名为genesis.json,新建文件夹命名为chain,在genesis.json文件中添加创始区块代码

{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x40000",
"extraData" : "",
"gasLimit" : "0xffffffff",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00",
"alloc": { }
}

以管理员身份打开命令行窗口(非管理员身份会失败)。在geth目录下运行命令初始化创世块:

1 geth -datadir "%cd%\chain" init genesis.json

运行结果:

4、新建账户

 在命令行窗口(管理员模式)输入命令进入控制台:

geth –datadir “%cd%\chain” console

运行结果:(显示Welcome to the Geth JavaScript console!即为成功)

创建新账户,密码自己设置,用来启动私有链的挖矿。创建的第一个账户默认为矿工。创建成功会返回该账户的公钥(注意大小写)。

personal.newAccount(“密码”)

 运行结果:

输入exit退出控制台。

5、启动私有链

在启动私有链节点时,首次会要求输入账户密码(注意命令里边的ip地址是自己的IP地址,)

geth -targetgaslimit 4294967295 -rpc -rpcaddr "192.168.43.204" -rpcport "8101" -port "30301" -rpcapi "eth,web3,personal" -networkid 99 -identity 2016 -nodiscover -maxpeers 5 -datadir "%cd%\chain" -unlock 0 -rpccorsdomain "*" -mine console

输入密码后会进入geth控制台,并自动开始挖矿。首次会初始化,耐心等待,待进度到达100时会开始挖矿。

如果出现

即为初始化成功,如果挖矿还在继续,可以输入 exit 退出并输入启动私有链命令重新启动私有链。

  到此即为搭建区块链私有链成功,可以进行自己的项目进展,例如创建节点,节点间交易,部署智能合约等等。

  创建节点,节点间交易,部署智能合约等具体步骤我会在之后的博客中持续更新。

  新手上路的话建议首先下载一个eth钱包来辅助自己创建项目,但是作为程序员还是建议多使用命令解决问题,因为eth可视化虽然方便,但不能让程序员了解内部如何运作。

  下一篇为:eth的钱包安装以及使用。

posted @ 2019-02-25 20:14  在Java找对象  阅读(8066)  评论(5编辑  收藏  举报