以太坊初体验搭建测试用区块链

安装虚拟机

2018-06-12 07:57:30

ROOT密码:123456

Admin密码:1234

虚拟机联网

 vmware netword adapter vmnet8主机ipv4的IP地址为:192.168.2.3

虚拟机ip地址为:192.168.2.12

安装Go语言环境

1.10.3

由于后面会出现版本兼容问题,因此此处需要将golong版本更改

采用新版的:

官网:https://golang.org/dl/

比如2018.6.18我下载1.10.3:

https://golang.org/doc/install?download=go1.10.3.linux-amd64.tar.gz

下载复制放到:opt/ethfan目录:

 

如果之前安装过就删除无效的go:

 

解压 tar -xvf 文件名: tar -xvf go1.10.3.linux-amd64.tar.gz 

 

配置环境: gedit /etc/profile 

 

查看版本

 

1.8.1 如果安装新版的就不安装这个了(这个是书上的我操作了但是并没什么用,后面会报错)

旧版参照1.8.1安装:

访问go官网下载:

https://golang.org/doc/install?download=go1.8.1.linux-amd64.tar.gz

下载复制放到:opt/ethfan目录

 

解压 tar -xvf 文件名:

 

配置GOPATH环境变量

 

配置yum

https://blog.csdn.net/qq_33977879/article/details/79132735

 cd /etc/yum 

cd /etc/yum.repos.d/ 

 

备份原始的yum源

 mv CentOS-Base.repo CentOS-Base.repo.bak 

 

 下载yum文件,替代我们刚才备份的那个原始yum

 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 

 

这两条命令主要是清除和生成新的缓存,记得一定要敲着两个命令,重要

 

下载和编译Geth

安装C的编译器:

但是:centos7中没有这个apt-get install -y build-essential

我安装的是: yum -y install gcc 

克隆Github项目

 git clone https://github.com/ethereum/go-ethereum.git 

 

进入到文件目录,源码安装

 cd go-ethereum 

 make geth 

 

错误说明我的版本是:1.8.1 不符合,应当改成至少是1.9

解决方法:要么更改golong版本,要么更改geth版本

更改golong版本为1.10.3:就好啦

 

²  检验是否安装成功

 查看命令:build/bin/geth –help 

 检查版本:build/bin/geth version 

 

配置geth环境

 

 source /etc/profile 

 

搭建测试用区块链

搭建单节点私有链

https://blog.csdn.net/yinanmo5569/article/details/80339031

新建文件genesis.json

 1 {
 2 
 3   "config": {
 4 
 5         "chainId": 22,
 6 
 7         "homesteadBlock": 0,
 8 
 9         "eip155Block": 0,
10 
11         "eip158Block": 0
12 
13     },
14 
15   "alloc"      : {},
16 
17   "coinbase"   : "0x0000000000000000000000000000000000000000",
18 
19   "difficulty" : "0x400",
20 
21   "extraData"  : "",
22 
23   "gasLimit"   : "0x2fefd8",
24 
25   "nonce"      : "0x0000000000000032",
26 
27   "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
28 
29   "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
30 
31   "timestamp"  : "0x00"
32 
33 }
genesis.json文件内容

启动区块链

初始化生成创世区块和初始状态:

 geth --datadir /opt/ethfan/path/to/datadir init /opt/ethfan/path/to/genesis.json 

 

启动节点进入Geth命令行界面

 geth --identity "TestNode" --rpc --rpcport "8545" --datadir /opt/ethfan/path/to/datadir --port "30303" --nodiscover console 

 

创建账号:语法这里采用的是javascript

输入两次密码123456,显示生成的账号

 

查看账号余额:此时显示余额为0

 

进行挖矿:

 miner.start() 开始挖矿,通过查看geth.log可以知道在挖,然后过一段时间停止: miner.stop() 

然后查看 eth.getBalance(myAddress) 

详细过程:没有挖到矿

 

 

猜你喜欢

转载自www.cnblogs.com/ycx95/p/9171277.html