默认你已经安装了docker-compose
➜ simplenode tree -L 2
.
├── docker-compose.yaml
├── genesis.json
└── passwd
git项目地址参考
docker-compose.yaml
version: "3"
services:
simplenode:
image: ethereum/client-go:latest
container_name: simplenode
environment:
datadir: node0
command: --syncmode "fast" --verbosity=5 --nousb --networkid 150 --nodiscover --maxpeers=0 --datadir=/opt/node0 --rpc --rpcaddr=0.0.0.0 --rpcport=8545 --rpccorsdomain='*' --rpcapi=admin,db,debug,eth,miner,net,personal,shh,txpool,web3
ports:
- 8545:8545
- 30303:30303
volumes:
- .:/opt
genesis.json
{
"config": {
"chainId": 150,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0
},
"alloc": {},
"coinbase": "0x0000000000000000000000000000000000000000",
"difficulty": "0x0200",
"extraData": "",
"gasLimit": "0x2fefd8",
"nonce": "0x0000000000000042",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "0x00"
}
passwd
123456
在当前目录simplenode下初始化创世区块和创建一个账户。
geth init --datadir node0 genesis.json
geth account new --password passwd --datadir node0
在simplenode目录,进入simplenode容器(命名困难症。。。)
➜ simplenode docker-compose up -d
➜ simplenode docker exec -it simplenode /bin/bash
进入geth控制台
/ # geth attach /opt/node0 geth.ipc
#查看当前节点账户
> eth.accounts
#查看账户1的余额(单位wei转换为Eth)
> web3.fromWei(eth.getBalance(eth.accounts[0]), "ether")
#设置挖矿收益账户
> miner.setEtherbase(eth.accounts[0])
#挖矿(第一次挖要等一阵)
> miner.start()
#停止挖矿
> miner.stop()
miner.start()的时候无聊可以另启一个终端,在simplenode目录查看当前DAG初始化进度。
➜ simplenode docker-compose logs -f
这样就完成了基本的以太坊私链运行。