1. 程式人生 > >以太坊啟動過程原始碼解析

以太坊啟動過程原始碼解析

[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