目录
环境
想法
- 由于挖矿很费性能,对于手上的垃圾服务器来说,要挂nginx和tomcat还要挖矿实在是难为它了。
- 因此想把挖矿的任务分给另一台服务器。
- 目标效果即为:
- 副节点连上主节点,两者的数据同步。
- 主节点关闭挖矿,节省性能,由副节点挖矿。
开搞
让副节点连上主节点
- 注意:
- 不要在副节点上直接打开geth执行
- $ geth attach http://your_ip:8545
- 这样相当于远程连接控制主节点了,就像我们在windows上用ssh远程连接linux去控制geth挖矿的开启和关闭一样,链上仍然只有主节点一个,只不过有主节点本机和另一台机可以去控制主节点。
- 不要在副节点上直接打开geth执行
- 副节点需要和主节点用一样的创世块文件
- 这里就用和之前的文章(以太坊私链搭建)所用的创世块一致
- genesis.json
{
"config":{
"chainId":7,
"homesteadBlock":0,
"eip150Block":0,
"eip155Block":0,
"eip158Block":0,
"byzantiumBlock":0,
"constantinopleBlock":0,
"petersburgBlock":0,
"istanbulBlock":0,
"ethhash":{}
},
"alloc":{},
"coinbase":"0x0000000000000000000000000000000000000000",
"difficulty":"0x2",
"extraData":"",
"gasLimit":"0xffffffff",
"nonce":"0x0000000000000042",
"mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp":"0x00"
}
- 还要准备启动脚本,这里也保持和主节点一致
- rungeth.sh
geth --datadir ./data --networkid 7 --http --http.addr 0.0.0.0 --http.vhosts "*" --http.api "admin,debug,web3,eth,txpool,personal,ethash,miner,net" --http.corsdomain "*" --snapshot --mine --miner.threads 1 --allow-insecure-unlock console 2> 1.log
- 在副节点所在机新建一个用户
- $ geth --datadir ./data account new
- 然后在副节点所在机初始化创世块
- $ sudo geth --datadir ./data init ./genesis.json
- 启动geth
- $ sudo ./rungeth.sh
- 如果是在一台机子上搞两个节点,则要修改他们的运行端口,使之不要重复,不然其中一个会启动不起来。
- 至此,副节点就部署完成了,接下来要在主节点中添加副节点。
- 首先查看一下副节点的enode
- > admin.nodeInfo.enode
- 首先查看一下副节点的enode
![](https://blog.coolight.cool/wp-content/uploads/2022/02/image.png)
- -
- 在主节点添加副节点的enode
- >admin.addPeer("encode")
- 在主节点添加副节点的enode
![](https://blog.coolight.cool/wp-content/uploads/2022/02/image-1.png)
- 查看是否添加成功
- 方法1:
- 直接对比两者的块高度看看是否相等,如果块比较多,可能需要等待一下同步。
- > eth.blockNumber
- 方法2:
- net.peerCount
- admin.peers
- 方法1:
- 让副节点代替主节点挖矿
- 把主节点挖矿停掉,在主节点所在机执行:
- > miner.stop()
- 让副节点挖矿,在副节点所在机执行:
- > miner.start()
- 把主节点挖矿停掉,在主节点所在机执行:
修改java程序连接副节点
- 上一篇的文章:java使用web3j调用以太坊私链上的智能合约
- 上文中讲到,java程序连接单节点(主节点)的私链去调用智能合约。
- 注意:
- 如果不修改的话,此时主节点虽然开着geth,但关闭了挖矿,只能和副节点进行数据同步,而连接主节点发送的请求都是不能执行的。
- 而且主节点的geth不能关闭,否则副节点也会出问题。
- 不要在开着geth的时候直接关闭ssh窗口,否则会导致链的数据丢失,要在geth里执行> exit 退出。
- 复制副节点的用户私钥文件到java程序执行的机子上,
![](https://blog.coolight.cool/wp-content/uploads/2022/02/image-2.png)
- 修改java程序使用这个私钥文件,并把用户地址也改成这个私钥文件的用户。
- 修改java程序连接副节点所在的服务器ip地址。
- 到这里就可以了,如此就实现了让副节点代替主节点挖矿的任务了。
存在的问题
- 主节点的账号是不能在连接副节点后使用的,也就是说,两个节点实际上只有链上的数据是互通的,账号是不互通的。因此java程序连接副节点时需要修改。
- 此时主节点只能同步数据,不能挖矿,连接到主节点后发送的交易并不会由副节点代替挖矿完成。
viagra online consegna rapida: viagra senza ricetta – gel per erezione in farmacia
deep web drug url darknet seiten dark web market list
dark website tor markets 2023 deep dark web
darkmarket link dark markets 2023 deep web sites
viagra cosa serve viagra consegna in 24 ore pagamento alla consegna viagra generico in farmacia costo
darkmarkets darknet market lists how to access dark web
deep web search darknet marketplace darknet drug market
darknet marketplace darkmarket url dark web site
viagra acquisto in contrassegno in italia: viagra senza ricetta – viagra generico prezzo piГ№ basso
acquistare farmaci senza ricetta: kamagra – migliori farmacie online 2023
darknet market dark market darknet market lists
darkmarket url deep web search darknet drug links
darkmarkets darkmarket 2023 darknet market
viagra acquisto in contrassegno in italia: alternativa al viagra senza ricetta in farmacia – viagra originale recensioni
darknet site darknet search engine darkmarkets
darknet market list dark market dark web link
dark web market list dark web sites links dark markets
deep web sites darknet drug links tor dark web
farmacia online più conveniente: avanafil prezzo – farmacie on line spedizione gratuita
dark web drug marketplace dark market onion tor market links
drug markets onion darknet links deep web links
darkmarket list dark market link dark web drug marketplace
tor market links deep web sites drug markets dark web
farmacia online più conveniente: farmacia online spedizione gratuita – farmacie online affidabili
how to access dark web darkweb marketplace darknet websites
tor dark web darknet market darknet drug links
best darknet markets darkmarket link the dark internet
darknet search engine dark internet darkmarket link
viagra prezzo farmacia 2023: viagra online siti sicuri – viagra acquisto in contrassegno in italia
http://tadalafilit.store/# farmacie on line spedizione gratuita
http://tadalafilit.store/# farmacie online autorizzate elenco
dark market 2023 bitcoin dark web tor marketplace
deep web links darknet drug store darknet drug links
blackweb official website dark market tor markets links
darknet market list dark net onion market
darknet seiten darknet drug market dark markets
deep web search deep web markets dark web sites
acquisto farmaci con ricetta: kamagra – migliori farmacie online 2023
best darknet markets dark web websites darkmarkets
comprare farmaci online con ricetta: farmacia online spedizione gratuita – top farmacia online
tor markets tor darknet tor marketplace
black internet darkmarket 2023 darknet market list
tor market links darkweb marketplace dark web link
acquisto farmaci con ricetta: Tadalafil generico – migliori farmacie online 2023
deep web drug store darknet site deep web links
tor markets 2023 darknet search engine how to get on dark web
viagra generico sandoz: viagra prezzo farmacia – viagra acquisto in contrassegno in italia
dark markets 2023 black internet darknet site
dark market list dark market dark web drug marketplace
farmacia online: comprare avanafil senza ricetta – farmacia online più conveniente