以太坊啟動過程原始碼解析
阿新 • • 發佈:2020-10-13
[TOC]
# 啟動引數
以太坊是如何啟動一個網路節點的呢?
```
./geth --datadir "../data0" --nodekeyhex "27aa615f5fa5430845e4e97229def5f23e9525a20640cc49304f40f3b43824dc" --bootnodes $enodeid --mine --debug --metrics --syncmode="full" --gcmode=archive --gasprice 0 --port 30303 --rpc --rpcaddr "0.0.0.0" --rpcport 8545 --rpcapi "db,eth,net,web3,personal" --nat any --allow-insecure-unlock 2>>log 1>>log 0>>log >>log &
```
引數說明:
- geth : 編譯好的geth程式,可以起別名
- datadir:資料庫和keystore金鑰的資料目錄
- nodekeyhex: 十六進位制的P2P節點金鑰
- bootnodes:用於P2P發現引導的enode urls
- mine:開啟挖礦
- debug:突出顯示呼叫位置日誌(檔名及行號)
- metrics: 啟用metrics收集和報告
- syncmode:同步模式 ("fast", "full", or "light")
- gcmode:表示即時將記憶體中的資料寫入到檔案中,否則重啟節點可能會導致區塊高度歸零而丟失資料
- gasprice:挖礦接受交易的最低gas價格
- port:網絡卡監聽埠(預設值:30303)
- rpc:啟用HTTP-RPC伺服器
- rpcaddr:HTTP-RPC伺服器介面地址(預設值:“localhost”)
- rpcport:HTTP-RPC伺服器監聽埠(預設值:8545)
- rpcapi:基於HTTP-RPC介面提供的API
- nat: NAT埠對映機制 (any|none|upnp|pm