發現國內很少有樹莓派和電腦組建的私人區塊鏈,所以在自己做實驗的過程中記錄下來分享給大家,第一次寫博客,哈哈
以太坊私有鏈搭建(電腦,樹莓派端都適用)
(1)新建一個文件夾,例如mychain,用來保存私有鏈的數據。創建一個初始化的配置文件,genesis.json
$ mkdir mychain
$ cd mychain
$ vim genesis.json
然后將如下的配置信息寫入到genesis.json文件中(注意:chainId不能為0)
{
"config": {
"chainId": 3,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc" : {},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x200",
"extraData" : "",
"gasLimit" : "0x2fefd8",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}
注意
Insert寫入文件后
Esc退出
Shift + :
wq
(2)初始化創世區塊,並指定數據存放路徑
$ geth --datadir mychain init genesis.json
(3)啟動私有鏈節點,並將日志輸入到mychain.log
geth --networkid 3 --datadir mychain --identity "mychain" --rpc --rpcaddr 0.0.0.0 --rpcport 8545 --rpcapi "admin,debug,eth,miner,net,personal,shh,txpool,web3" --port 30303 --rpccorsdomain "*" --nodiscover console 2>>mychain.log
啟動成功后進入控制台界面
4.測試
(1)創建新賬戶
personal.newAccount(“123456”)
創建成功將返回賬戶的地址
樹莓派端:
查看節點信息
電腦端:
查看節點信息
注意事項:
1.電腦在同一網絡,可相互ping通
2.有相同創世塊文件
3.neworkid相同
4.port號(節點端口號),rpcport號(http-rpc端口號)不能重復 networkid:3
我的樹莓派 ip地址:192.168.1.106 port:8546 rpcport:30302
我的PC機 ip地址:192.168.1.105 port:8545 rpcport:30303
樹莓派的節點主動加入電腦端節點:(通過PC機的enode信息來連接,其中包括了ip地址和端口號)
> admin.nodeInfo.enode
admin.addPeer("enode://2aa01bad57cfcd9bc9073a3ae7cc33fcd31704e4c81990f69b586e4ddd5fbcd3a1130ff6394f25f2c25dc645f1ec301d69223e857cdd014780ebdb22597e81f3@192.168.1.105:30303")
電腦端采用相同方式添加樹莓派節點
(樹莓派節點可以將智能合約部署在私有鏈上,電腦端節點可以根據合約部署地址來調用合約,挖礦。)