|
首先在第一台机器168.192.0.5
- mkdir private-geth && private-geth
- vim genesis.json
- {
- "config": {
- "chainId": 3434,
- "homesteadBlock": 0,
- "eip155Block": 0,
- "eip158Block": 0
- },
- "coinbase" : "0x0000000000000000000000000000000000000000",
- "difficulty" : "0x400",
- "extraData" : "0x123456",
- "gasLimit" : "0xffffffff",
- "nonce" : "0x0000000000000042",
- "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
- "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
- "timestamp" : "0x00",
- "alloc": { }
- }
- 初始化创始块
- geth --datadir ./data/00 init genesis.json
- 进入geth平台
- geth --identity "newEth" --rpc --rpccorsdomain "*" --rpcapi "personal,db,eth,net,web3" --datadir ./data/00 --networkid 3434 --ipcdisable --port 33333 --rpcport 4444 console
- admin.nodeInfo 得到 enode: "enode://ef572405a99d655f41ec645a780e23b8dc243c1297c2f7b9da416ffbe79dc15298d2e31a78d903b3cb611d417287e17f5307971213b748d16929ff476bb8ea6c@[::]:33333"
- 在这里制作成镜像haha1
复制代码 第二个节点 由haha1镜像创建主机成为192.168.0.6
- cd private-geth
- geth --datadir ./data/01 init ./genesis.json
- 连接第一个节点并进入geth平台
- geth --identity "newEth" --rpc --rpccorsdomain "*" --rpcapi "personal,db,eth,net,web3" --datadir ./data/01 --networkid 3434 --ipcdisable --port 33334 --rpcport 4446 --bootnodes "enode://ef572405a99d655f41ec645a780e23b8dc243c1297c2f7b9da416ffbe79dc15298d2e31a78d903b3cb611d417287e17f5307971213b748d16929ff476bb8ea6c@192.168.0.5:33333" console
- Welcome to the Geth JavaScript console!
- instance: Geth/newEth/v1.6.6-stable-10a45cb5/linux-amd64/go1.8.1
- modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
- > eth.blockNumber
- 0
- 他会自动更新主链的信息
- > INFO [07-12|14:28:29] Block synchronisation started
- INFO [07-12|14:28:29] Imported new state entries count=1 flushed=1 elapsed=98.548碌s processed=1 pending=0 retry=0 duplicate=0 unexpected=0
- INFO [07-12|14:28:30] Imported new block headers count=5 elapsed=1.369s number=5 hash=467a87鈥f2226 ignored=0
- INFO [07-12|14:28:30] Imported new chain segment blocks=5 txs=0 mgas=0.000 elapsed=1.418ms mgasps=0.000 number=5 hash=467a87鈥f2226
- INFO [07-12|14:28:30] Fast sync complete, auto disabling
- > eth.blockNumber
- 5
- 制作成镜像Haha2
复制代码 用第一个节点的镜像制作第三个节点 主机名字3 192.168.0.2
- cd private-geth
- geth --datadir ./data/02 init ./genesis.json
- geth --identity "newEth" --rpc --rpccorsdomain "*" --rpcapi "personal,db,eth,net,web3" --datadir ./data/02 --networkid 3434 --ipcdisable --port 33335 --rpcport 4447 --bootnodes "enode://ef572405a99d655f41ec645a780e23b8dc243c1297c2f7b9da416ffbe79dc15298d2e31a78d903b3cb611d417287e17f5307971213b748d16929ff476bb8ea6c@192.168.0.5:33333" console
- Welcome to the Geth JavaScript console!
- instance: Geth/newEth/v1.6.6-stable-10a45cb5/linux-amd64/go1.8.1
- modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
- > eth.accounts
- []
- >
- > INFO [07-12|14:36:12] Block synchronisation started
- INFO [07-12|14:36:12] Imported new state entries count=1 flushed=1 elapsed=98.452碌s processed=1 pending=0 retry=0 duplicate=0 unexpected=0
- INFO [07-12|14:36:14] Imported new block headers count=5 elapsed=1.714s number=5 hash=467a87鈥f2226 ignored=0
- INFO [07-12|14:36:14] Imported new chain segment blocks=5 txs=0 mgas=0.000 elapsed=1.445ms mgasps=0.000 number=5 hash=467a87鈥f2226
- INFO [07-12|14:36:14] Fast sync complete, auto disabling
- > eth.blockNumber
- 5
- 创建一个新映像haha3
复制代码 这样三个节点相连的私链就搭建成功了
在篡改了第三台机器的数据或者ldb以后,第三个节点不能挖矿了,然后我再同一个目录下再创建一个
新的节点,同样不能挖矿。
- geth --datadir ./data/03 init ./genesis.json
- geth --identity "newEth" --rpc --rpccorsdomain "*" --rpcapi "personal,db,eth,net,web3" --datadir ./data/03 --networkid 3435 --ipcdisable --port 33336 --rpcport 4447 --bootnodes "enode://ef572405a99d655f41ec645a780e23b8dc243c1297c2f7b9da416ffbe79dc15298d2e31a78d903b3cb611d417287e17f5307971213b748d16929ff476bb8ea6c@192.168.0.5:33333" console
复制代码 那我就把这台机器毁了吧,再复制一下第三台机器,重新试验。
一样是192.168.0.2的机器
进去以后直接同步好了区块链数据。
cd private-geth/data/02/geth/chaindata
但是一直不能挖矿,无奈我就在第二台机器上同样的方法创建第三台节点是可以挖矿的
那我在他上面继续创作镜像,直接开启看看可不可以挖矿hahasjd
192.168.0.3的机器
好了02可以挖一直觉得挖矿速度慢,原来是几台机器的配置不同导致的,吓死宝宝了
在 192.168.0.6机器上,重新开一个节点,注意该节点只有自己,没有接入其他的节点。进入控制
台后他就有ldb文件,我把ldb文件删了,是不影响他挖矿的,奇怪的是在chaindata目录也没有继续
生成ldb文件。我重新启动该节点,有新的ldb文件生成,但是区块高度为0 ,也不能挖矿了。是因为
初始块被删了,导致不行,重新init的话也是不对的,他会提示该目录下的创始块已经存在了
- geth --datadir ./data/04 init genesis.json
- geth --identity "newEth" --rpc --rpccorsdomain "*" --rpcapi "personal,db,eth,net,web3" --datadir ./data/04 --networkid 3434 --ipcdisable --port 33330 --rpcport 4449 console
复制代码
|
|