发现国内很少有树莓派和电脑组建的私人区块链,所以在自己做实验的过程中记录下来分享给大家,第一次写博客,哈哈
以太坊私有链搭建(电脑,树莓派端都适用)
(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")
电脑端采用相同方式添加树莓派节点
(树莓派节点可以将智能合约部署在私有链上,电脑端节点可以根据合约部署地址来调用合约,挖矿。)