首页
学习
活动
专区
圈层
工具
发布

CentOS7 搭建以太坊私有链

下载并安装 golang

https://www.golangtc.com/download

这里要注意下 最新的golang 1.10 和go-ethereum-1.7.3 不太兼容

配置golang 环境

代码语言:javascript
复制
vi /etc/profile
代码语言:javascript
复制
export GOPATH=/usr/local/go
export PATH=$PATH:$GOPATH/bin
代码语言:javascript
复制
source /etc/profile
代码语言:javascript
复制
go  version

下载go-ethereum

https://github.com/ethereum/go-ethereum/archive/v1.7.3.tar.gz

解压编译:

代码语言:javascript
复制
tar -zxvf go-ethereum-1.7.3.tar.gz
cd go-ethereum-1.7.3
make

运行ethereum

代码语言:javascript
复制
cd build/bin/

配置文件

代码语言:javascript
复制
vi init.json
代码语言:javascript
复制
{
   "config": {
       "chainId": 15,
       "homesteadBlock": 0,
       "eip155Block": 0,
       "eip158Block": 0
   },
   "difficulty": "200000000",
   "gasLimit": "2100000",
   "alloc": {
       "7df9a875a174b3bc565e6424a0050ebc1b2d1d82": { "balance": "300000" },
       "f41c74c9ae680c1aa78f42e5647a62f353b7bdde": { "balance": "400000" }
   }
}

参数的含义参考:

以太坊私有链入门最新教程(6.6更新) https://blog.csdn.net/wxb880114/article/details/79202378

其中 difficulty参数觉得出块的时间,那么设置小一点不就可以了嘛

初始化

代码语言:javascript
复制
./geth  --datadir "../../data/chain" init init.json

运行

代码语言:javascript
复制
./geth --rpc --rpccorsdomain "*" --datadir "../../data/chain" --port "30303" --rpcapi "db,eth,net,web3" --networkid 100000 console
代码语言:javascript
复制
一直到出现Welcome to the Geth JavaScript console! 句话,并自动进入geth的命令行则说明以太坊私有链安装成功了。

使用ethereum

创建账户

代码语言:javascript
复制
personal.newAccount()

查询账户

代码语言:javascript
复制
personal.listAccounts

查询账户余额

代码语言:javascript
复制
web3.fromWei(eth.getBalance(eth.coinbase), "ether")

挖矿

代码语言:javascript
复制
miner.start(1)

停止

代码语言:javascript
复制
miner.stop()

帐户管理:https://github.com/ethereum/go-ethereum/wiki/Managing-your-accounts 金矿管理:https://github.com/ethereum/go-ethereum/wiki/Mining

如果遇到miner.start()返回null 如何处理

代码语言:javascript
复制
miner.setEtherbase(eth.coinbase)
下一篇
举报
领券