Go-Ethereum
如何在 ubuntu 機器上保持 geth 節點同步?
要求是幾乎總是為 DAPP 保持 geth 節點同步。geth 節點在 ubuntu 機器上執行。用於公開 geth rpc 伺服器的命令是
geth --testnet --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3 --rpcport 8545 --rpccorsdomain "*" --rpcaddr "127.0.0.1" --rpc
我通常使用 putty 連接到伺服器。但是當我關閉 putty 會話時,geth 程序也會被殺死。我需要避免這種情況。需要的是保持geth持續同步,這樣任何使用DAPP的使用者都可以隨時進行交易。
首先要確保您以快速模式啟動該過程,以便鏈始終保持最新。您可以使用 geth 的 –fast 命令來實現最快的同步。
此外,將記憶體大小增加到 –cache=1024 而不是預設的 128
為了在您的 putty 註銷後保持程序執行,您顯然可以嘗試 screen或使用tmux,這是執行此操作的更好方法。
將 geth 設置為服務 - https://github.com/bas-vk/config/blob/master/geth-systemd-service.md
創建一個文件
geth.service
:[Unit] Description=Ethereum go client [Service] Type=simple ExecStart=geth 2>%h/.ethereum/geth.log [Install] WantedBy=default.target
啟用服務
$ systemctl --user enable geth.service $ systemctl --user start geth.service