本文環境:
操作系統:CentOS 8.4_x64;
節點版本:Geth 1.10.4;
一、基本信息
NAME: 名稱 geth - the go-ethereum command line interface Copyright 2013-2021 The go-ethereum Authors USAGE: 用法 geth [options] [command] [command options] [arguments...] geth [選項] [命令] [命令選項] [參數...] VERSION: 版本 1.10.4-stable-aa637fd3
二、命令
COMMANDS: 命令 account 管理帳戶 attach 啟動一個交互式 JavaScript 環境(連接到節點) console 啟動交互式 JavaScript 環境 db 低級數據庫操作 dump 從存儲中轉儲特定塊 dumpconfig 顯示配置值 dumpgenesis 將創世塊 JSON 配置轉儲到標准輸出 export 將區塊鏈導出到文件 export-preimages 將原像數據庫導出到 RLP 流中 import 導入區塊鏈文件 import-preimages 從 RLP 流導入原像數據庫 init 引導並初始化一個新的創世區塊 js 執行指定的 JavaScript 文件 license 顯示許可證信息 makecache 生成ethash驗證緩存(用於測試) makedag 生成 ethash 挖礦 DAG(用於測試) removedb 刪除區塊鏈和狀態數據庫 show-deprecated-flags 顯示已棄用的標志 snapshot 基於快照的一組命令 version 打印版本號 version-check 檢查(在線)當前版本是否存在任何已知的安全漏洞 wallet 管理以太坊預售錢包 help, h 顯示命令列表或一個命令的幫助
三、ETHEREUM選項
ETHEREUM OPTIONS: 以太坊選項 --config value TOML配置文件 --datadir value 數據庫和密鑰庫的數據目錄(默認:“/root/.ethereum”) --datadir.ancient value 古代鏈段的數據目錄(默認 = 內鏈數據) --datadir.minfreedisk value 以 MB 為單位的最小可用磁盤空間,一旦達到觸發自動關閉(默認 = --cache.gc 轉換為 MB,0 = 禁用) --keystore value 密鑰庫的目錄(默認 = 在 datadir 內) --usb 啟用 USB 硬件錢包的監控和管理 --pcscdpath value 智能卡守護程序 (pcscd) 套接字文件的路徑(默認:“/run/pcscd/pcscd.comm”) --networkid value 顯式設置網絡 ID(整數)(對於測試網:使用 --ropsten、--rinkeby、--goerli 代替)(默認值:1) --mainnet 以太坊主網 --goerli Görli 網絡:預先配置的權威證明測試網絡 --rinkeby Rinkeby 網絡:預先配置的權威證明測試網絡 --calaveras Calaveras 網絡:預先配置的權威證明短期測試網絡。 --ropsten Ropsten 網絡:預先配置的工作量證明測試網絡 --syncmode value 區塊鏈同步模式(“fast”、“full”、“snap”或“light”)(默認:snap) --exitwhensynced 區塊同步完成后退出 --gcmode value 區塊鏈垃圾收集模式(“full”、“archive”)(默認:“full”) --txlookuplimit value 維護交易索引的最近區塊數(默認值 = 大約一年,0 = 整個鏈)(默認值:2350000) --ethstats value ethstats 服務的報告 URL (nodename:secret@host:port) --identity value 自定義節點名稱 --lightkdf 以犧牲 KDF 強度為代價減少密鑰派生 RAM 和 CPU 使用率 --whitelist value 逗號分隔的塊號到哈希映射以強制執行 ( = )
四、輕客戶端選項
LIGHT CLIENT OPTIONS: 輕客戶端選項 --light.serve value 為 LES 請求提供服務所允許的最大時間百分比(多線程處理允許值超過 100)(默認值:0) --light.ingress value 服務輕客戶端的傳入帶寬限制(千字節/秒,0 = 無限制)(默認值:0) --light.egress value 服務輕客戶端的傳出帶寬限制(千字節/秒,0 = 無限制)(默認值:0) --light.maxpeers value 要服務的輕客戶端或要附加的輕服務器的最大數量(默認值:100) --ulc.servers value 受信任的超輕型服務器列表 --ulc.fraction value 宣布新頭所需的可信超輕型服務器的最低百分比(默認值:75) --ulc.onlyannounce 超輕服務器只發送通知 --light.nopruning 禁用遠古輕鏈數據修剪 --light.nosyncserve 在同步之前啟用服務輕客戶端
五、開發者(模式)選項
DEVELOPER CHAIN OPTIONS: 開發者鏈選項 --dev 具有預先資助的開發者帳戶的臨時權威證明網絡,啟用挖掘 --dev.period value 在開發者模式下使用的區塊周期(0 = 我的只有在交易未決時)(默認值:0)
六、ETHASH選項
ETHASH OPTIONS: ETHASH 選項 --ethash.cachedir value 存儲 ethash 驗證緩存的目錄(默認 = 在 datadir 內) --ethash.cachesinmem value 要保留在內存中的最近 ethash 緩存的數量(每個 16MB)(默認值:2) --ethash.cachesondisk value 要保留在磁盤上的最近 ethash 緩存的數量(每個 16MB)(默認值:3) --ethash.cacheslockmmap 鎖定最近 ethash 緩存的內存映射 --ethash.dagdir value 存儲 ethash 挖礦 DAG 的目錄(默認:“/root/.ethash”) --ethash.dagsinmem value 最近要保留在內存中的 ethash 挖礦 DAG 的數量(每個 1+GB)(默認值:1) --ethash.dagsondisk value 最近要保留在磁盤上的 ethash 挖礦 DAG 的數量(每個 1+GB)(默認值:2) --ethash.dagslockmmap 為最近的 ethash 挖礦 DAG 鎖定內存映射
七、交易池選項
TRANSACTION POOL OPTIONS: 交易池選項 --txpool.locals value 逗號分隔的帳戶作為本地人對待(無刷新,優先包含) --txpool.nolocals 禁用本地提交交易的價格豁免 --txpool.journal value 本地事務的磁盤日志以在節點重新啟動后繼續存在(默認值:“transactions.rlp”) --txpool.rejournal value 重新生成本地交易日志的時間間隔(默認:1小時) --txpool.pricelimit value 為接受入池而強制執行的最低 gas 價格限制(默認值:1) --txpool.pricebump value 替換現有交易的價格波動百分比(默認值:10) --txpool.accountslots value 每個賬戶保證的最小可執行交易槽數(默認值:16) --txpool.globalslots value 所有賬戶的最大可執行交易槽數(默認值:5120) --txpool.accountqueue value 每個賬戶允許的最大不可執行交易槽數(默認:64) --txpool.globalqueue value 所有賬戶的最大不可執行交易槽數(默認:1024) --txpool.lifetime value 不可執行事務排隊的最長時間(默認值:3小時)
八、性能調優選項
PERFORMANCE TUNING OPTIONS: 性能調整選項 --cache value 分配給內部緩存的內存兆字節(默認 = 4096 主網全節點,128 輕模式)(默認:1024) --cache.database value 用於數據庫 io 的緩存內存允許百分比(默認值:50) --cache.trie value 用於 trie 緩存的緩存內存允許百分比(默認值 = 15% 完整模式,30% 存檔模式)(默認值:15) --cache.trie.journal value trie 緩存的磁盤日志目錄以在節點重新啟動后繼續存在(默認值:“triecache”) --cache.trie.rejournal value 重新生成 trie 緩存日志的時間間隔(默認值:1小時) --cache.gc value 用於修剪修剪的緩存內存百分比(默認值 = 25% 完整模式,0% 存檔模式)(默認值:25) --cache.snapshot value 用於快照緩存的緩存允許百分比(默認值 = 10% 完整模式,20% 存檔模式)(默認值:10) --cache.noprefetch 在塊導入期間禁用啟發式狀態預取(更少的 CPU 和磁盤 IO,更多的時間等待數據) --cache.preimages 啟用記錄 trie 密鑰的 SHA3/keccak 原像
九、賬戶選項
ACCOUNT OPTIONS: 賬戶選項 --unlock value 以逗號分隔的要解鎖的帳戶列表 --password value 用於非交互式密碼輸入的密碼文件 --signer value 外部簽名者(ipc 文件的 url 或路徑) --allow-insecure-unlock 當與帳戶相關的 RPC 被 http 公開時,允許不安全的帳戶解鎖
十、API和控制台選項
API AND CONSOLE OPTIONS: API 和控制台選項 --ipcdisable 禁用 IPC-RPC 服務器 --ipcpath value datadir 中 IPC 套接字/管道的文件名(顯式路徑對其進行轉義) --http 啟用 HTTP-RPC 服務器 --http.addr value HTTP-RPC 服務器監聽接口(默認:“localhost”) --http.port value HTTP-RPC 服務器監聽端口(默認:8545) --http.api value 通過 HTTP-RPC 接口提供的 API --http.rpcprefix value 提供 JSON-RPC 的 HTTP 路徑路徑前綴。使用“/”在所有路徑上提供服務。 --http.corsdomain value 接受跨源請求的域的逗號分隔列表(瀏覽器強制執行) --http.vhosts value 逗號分隔的虛擬主機名列表,從中接受請求(服務器強制執行)。接受“*”通配符。 (默認:“本地主機”) --ws 啟用 WS-RPC 服務器 --ws.addr value WS-RPC 服務器監聽接口(默認:“localhost”) --ws.port value WS-RPC 服務器監聽端口(默認:8546) --ws.api value 通過 WS-RPC 接口提供的 API --ws.rpcprefix value 提供 JSON-RPC 的 HTTP 路徑前綴。使用“/”在所有路徑上提供服務。 --ws.origins value 接受 websockets 請求的來源 --graphql 在 HTTP-RPC 服務器上啟用 GraphQL。請注意,GraphQL 只能在 HTTP 服務器啟動的情況下啟動。 --graphql.corsdomain value 接受跨源請求的域的逗號分隔列表(瀏覽器強制執行) --graphql.vhosts value 逗號分隔的虛擬主機名列表,從中接受請求(服務器強制執行)。接受“*”通配符。 (默認:“本地主機”) --rpc.gascap value 設置可以在 eth_call/estimateGas 中使用的 gas 上限(0=無限)(默認值:50000000) --rpc.txfeecap value 設置可以通過 RPC API 發送的交易費用上限(以以太為單位)(0 = 無上限)(默認值:1) --rpc.allow-unprotected-txs 允許通過 RPC 提交不受保護的(非 EIP155 簽名)交易 --jspath loadScript loadScript 的 JavaScript 根路徑(默認值:“.”) --exec value 執行 JavaScript 語句 --preload value 要預加載到控制台的以逗號分隔的 JavaScript 文件列表
十一、網絡選項
NETWORKING OPTIONS: 網絡選項 --bootnodes value 用於 P2P 發現引導程序的逗號分隔的 enode URL --discovery.dns value 設置 DNS 發現入口點(使用“”禁用 DNS) --port value 網絡監聽端口(默認:30303) --maxpeers value 網絡對等點的最大數量(如果設置為 0,則禁用網絡)(默認值:50) --maxpendpeers value 最大掛起連接嘗試次數(如果設置為 0,則使用默認值)(默認值:0) --nat value NAT 端口映射機制(any|none|upnp|pmp|extip: )(默認值:“任何”) --nodiscover 禁用對等發現機制(手動對等添加) --v5disc 啟用實驗性 RLPx V5(主題發現)機制 --netrestrict value 將網絡通信限制到給定的 IP 網絡(CIDR 掩碼) --nodekey value P2P節點密鑰文件 --nodekeyhex value P2P 節點密鑰為十六進制(用於測試)
十二、礦工選項
MINER OPTIONS: 礦工選項 --mine 啟用挖礦 --miner.threads value 用於挖掘的 CPU 線程數(默認值:0) --miner.notify value 逗號分隔的 HTTP URL 列表以通知新的工作包 --miner.notify.full 使用掛起的塊頭而不是工作包進行通知 --miner.gasprice value 挖掘交易的最低gas價格(默認:1000000000) --miner.gastarget value 已開采區塊的目標 gas floor(默認值:8000000) --miner.gaslimit value 開采區塊的目標氣體上限(默認值:8000000) --miner.etherbase value 區塊挖礦獎勵的公共地址(默認=第一個帳戶)(默認:“0”) --miner.extradata value 阻止礦工設置的額外數據(默認 = 客戶端版本) --miner.recommit value 重新創建正在挖掘的塊的時間間隔(默認值:3s) --miner.noverify 禁用遠程密封驗證
十三、GAS價格選項
GAS PRICE ORACLE OPTIONS: 天然氣價格預言機選項 --gpo.blocks value 最近檢查gas價格的區塊數量(默認:20) --gpo.percentile value 建議的 gas 價格是一組最近交易 gas 價格的給定百分位數(默認值:60) --gpo.maxprice value gpo 將推薦最大 gas 價格(默認:500000000000) --gpo.ignoreprice value 低於 gpo 將忽略交易的 Gas 價格(默認值:2)
十四、虛擬機選項
VIRTUAL MACHINE OPTIONS: 虛擬機選項 --vmdebug 記錄對 VM 和合約調試有用的信息 --vm.evm value 外部 EVM 配置(默認 = 內置解釋器) --vm.ewasm value 外部 ewasm 配置(默認 = 內置解釋器)
十五、日志和調試選項
LOGGING AND DEBUGGING OPTIONS: 記錄和調試選項 --fakepow 禁用工作量證明驗證 --nocompaction 導入后禁用數據庫壓縮 --verbosity value 日志詳細程度:0=silent,1=error,2=warn,3=info,4=debug,5=detail(默認:3) --vmodule value 每個模塊的詳細程度:逗號分隔的列表= (例如 eth/*=5,p2p=4) --log.json 使用 JSON 格式化日志 --log.backtrace value 在特定日志語句(例如“block.go:271”)處請求堆棧跟蹤 --log.debug 使用呼叫站點位置(文件和行號)預先准備日志消息 --pprof 啟用 pprof HTTP 服務器 --pprof.addr value pprof HTTP 服務器監聽接口(默認:“127.0.0.1”) --pprof.port value pprof HTTP 服務器監聽端口(默認:6060) --pprof.memprofilerate value 以給定的速率打開內存分析(默認值:524288) --pprof.blockprofilerate value 以給定的速率打開塊分析(默認值:0) --pprof.cpuprofile value 將 CPU 配置文件寫入給定文件 --trace value 將執行跟蹤寫入給定文件
十六、指標和統計選項
METRICS AND STATS OPTIONS: 指標和統計選項 --metrics 啟用指標收集和報告 --metrics.expensive 啟用昂貴的指標收集和報告 --metrics.addr value 啟用獨立指標 HTTP 服務器偵聽接口(默認值:“127.0.0.1”) --metrics.port value 指標 HTTP 服務器監聽端口(默認:6060) --metrics.influxdb 啟用指標導出/推送到外部 InfluxDB 數據庫 --metrics.influxdb.endpoint value InfluxDB API 端點將指標報告給(默認:“http://localhost:8086”) --metrics.influxdb.database value InfluxDB 數據庫名稱將報告的指標推送到(默認值:“geth”) --metrics.influxdb.username value 授權訪問數據庫的用戶名(默認:“test”) --metrics.influxdb.password value 授權訪問數據庫的密碼(默認:“test”) --metrics.influxdb.tags value 逗號分隔的 InfluxDB 標簽(鍵/值)附加到所有測量值(默認值:“host=localhost”)
十七、別名(已棄用)選項
ALIASED (deprecated) OPTIONS: 別名(已棄用)選項 --nousb 禁用對 USB 硬件錢包的監控和管理(已棄用) --rpc 啟用 HTTP-RPC 服務器(已棄用,將於 2021 年 6 月移除,使用 --http) --rpcaddr value HTTP-RPC 服務器偵聽接口(已棄用,將於 2021 年 6 月移除,使用 --http.addr)(默認:“localhost”) --rpcport value HTTP-RPC 服務器偵聽端口(已棄用,將於 2021 年 6 月移除,使用 --http.port)(默認值:8545) --rpccorsdomain value 接受跨源請求的域的逗號分隔列表(瀏覽器強制執行)(已棄用,將於 2021 年 6 月刪除,使用 --http.corsdomain) --rpcvhosts value 逗號分隔的虛擬主機名列表,從中接受請求(服務器強制執行)。接受“*”通配符。 (已棄用,將於 2021 年 6 月刪除,使用 --http.vhosts)(默認:“localhost”) --rpcapi value 通過 HTTP-RPC 接口提供的 API(已棄用,將於 2021 年 6 月移除,使用 --http.api)
十八、其他選項
MISC OPTIONS: 其他選項 --snapshot 啟用快照數據庫模式(默認 = 啟用) --bloomfilter.size value 分配給布隆過濾器用於修剪的內存兆字節(默認值:2048) --help, -h 顯示幫助 --catalyst Catalyst 模式(eth2 集成測試) --override.london value 手動指定 London fork-block,覆蓋捆綁設置(默認值:0)