一、安装golang语言
也可以直接下载对应版本安装:
1 2
| wget https://studygolang.com/dl/golang/go1.10.1.linux-amd64.tar.gz tar -xvf go1.10.1.linux-amd64.tar.gz
|
二、安装以太坊
下载
1
| wget https://github.com/ethereum/go-ethereum/archive/v1.8.3.tar.gz
|
解压并编译
1 2 3
| tar -zxvf v1.8.3.tar.gz cd go-ethereum-1.8.3 make
|
三、运行以太坊
- 进入对应目录
- 配置创世块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| vim genesis.json
{ "config":{ "chainId":15, "homesteadBlock":0, "eip155Block":0, "eip158Block":0 }, "nonce":"0x0000000000000056", "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000", "difficulty": "0x400", "alloc": {}, "coinbase":"0x0000000000000000000000000000000000000000", "timestamp": "0x00", "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000", "extraData": "", "gasLimit":"0xffffffff"
}
|
- 初始化私链
1
| ./geth --datadir data --networkid 20180929 --rpc --rpccorsdomain "*" init genesis.json
|
- 运行私链
1 2
| ./geth --datadir data --networkid 20180929 --rpc --rpcaddr "192.168.10.18" --rpccorsdomain "*" --nodiscover --port 30303 --rpcport 8545 console
|
其中 –rpcaddr “192.168.10.18”为可选参数,当需要外部访问私链时需要绑定本机ip
四、使用screen管理会话
为了防止远程连接中断导致私链停止运行,使用screen来管理会话
当需要运行私链前
1
| screen -S yourname -> 新建一个叫yourname的session
|
切出当前会话 ctrl+A+D
1
| C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。
|
重新连接后台会话
1
| screen -r yourname -> 回到yourname这个session
|