安装虚拟机
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版本更改
采用新版的:
比如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 }
启动区块链
初始化生成创世区块和初始状态:
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)
详细过程:没有挖到矿