geth 全オプション一覧

geth(1.8.11-stable)のオプションを全てまとめてみた。理解不足なところがあるので、改めて修正する。
デフォルトが空欄のものについては、未調査。

# ETHEREUM OPTIONS
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --config &lt;value&gt; | TOML設定ファイルを指定します。オプションを指定する代わりにTOML設定ファイルを指定することで、オプションを省略できます。 | |
| --datadir &lt;value&gt; | データベースとキーストア用のデータディレクトリを指定します。 | |
| --keystore &lt;value&gt; | キーストア用のディレクトリを指定します。 | datadir内 |
| --nousb | USBハードウェアウォレットの監視と管理を無効にします。 | - |
| --networkid &lt;value&gt; | ネットワークIDを指定します。(integer, 1=Frontier, 2=Morden (disused), 3=Ropsten, 4=Rinkeby) | 1 |
| --testnet | Ropstenへ接続します。proof-of-work のテストネットワークです。 | - |
| --rinkeby | Rinkebyへ接続します。proof-of-authority のテストネットワークです。 | - |
| --syncmode &lt;value&gt; | ブロックチェーンの同期モードを指定します。"fast" または "full" または "light" を指定できます。 | full |
| --gcmode &lt;value&gt; | ブロックチェーンのガベージコレクションのモードを指定します。"full" または "archive" を指定できます。 | "full" |
| --ethstats &lt;value&gt; | ethstatsサービスの Reporting URLを指定します。(nodename:secret@host:port) | |
| --identity &lt;value&gt; | ノード名を指定します。自ノードの名前。 | |
| --lightserv &lt;value&gt; | gethの全処理の処理時間のうち、LESリクエストを処理する時間をどれぐらい割り当てるのか、最大パーセンテージを指定します。(0-90) | 0 |
| --lightpeers &lt;value&gt; | LES[^1]クライアント(ピア)の最大数を指定します。 | 100 |
| --lightkdf | 鍵導出関数の強度を犠牲にして、鍵導出の際のRAMとCPUの使用量を減らします。 | - |

# NETWORKING OPTIONS
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --bootnodes &lt;value&gt; | P2P discovery bootstrapのenode URLをカンマ区切りで指定します。(当設定をすることで、light server用にv4とv5の両方を設定する代わりになります) | [gethのソース](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go) にデフォルトの記述あり |
| --bootnodesv4 &lt;value&gt; | P2P v4 discovery bootstrapのenode URLをカンマ区切りで指定します。(light server または full node) |  |
| --bootnodesv5 &lt;value&gt; | P2P v5 discovery bootstrapのenode URLをカンマ区切りで指定します。(light server または light node) |  |
| --port &lt;value&gt; | ネットワークのリスニングポートを指定します。 | 30303 |
| --maxpeers &lt;value&gt; | ネットワークピアの最大数 (0にセットするとネットワークは無効)を指定します。 | 25 |
| --maxpendpeers &lt;value&gt; | 保留中の接続試行の最大数を指定します。 | 0 |
| --nat &lt;value&gt; | NATポートのマッピングメカニズムを指定します。 | "any" |
| --nodiscover | ピア発見メカニズムを無効にします。 (手動でピアを追加) | - |
| --v5disc | まだ実験段階であるRLPx V5 (Topic Discovery) メカニズムを有効にします。 | - |
| --netrestrict &lt;value&gt; | ネットワーク通信を特定のIPネットワークに制限します。 (CIDRマスク) |  |
| --nodekey &lt;value&gt; | P2Pノードのキーファイルを指定します。 |  |
| --nodekeyhex &lt;value&gt; | 16進のP2Pノードキーを指定します。(テスト用) |  |

# ACCOUNT OPTIONS
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --unlock &lt;value&gt; | unlockするアカウントのリストをカンマ区切りで指定します。 |
| --password &lt;value&gt; | パスワードファイルのパスを指定します（対話型のパスワード入力ではない） |

# DEVELOPER CHAIN OPTIONS:
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --dev | 事前に資金提供された開発アカウントによる一時的な proof-of-authority でマイニングを有効にします。 | - |
| --dev.period &lt;value&gt; | 上記devモードを使用するブロックの期間を指定します。 (0 = 保留中のトランザクションが存在する時だけ、マイニングされる) | 0 |

# ETHASH OPTIONS
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --ethash.cachedir &lt;value&gt; | ethash検証キャッシュを保存するディレクトリを指定します。 | datadir内 |
| --ethash.cachesinmem &lt;value&gt; | メモリ内に保持する直近のethashキャッシュの数（各々16MB）を指定します。 | 2 |
| --ethash.cachesondisk &lt;value&gt; | ディスク上に保持する直近のethashキャッシュの数（各々16MB）を指定します。 | 3 |
| --ethash.dagdir &lt;value&gt; | ethash mining DAG を保存するディレクトリを指定します。 | homeフォルダ内。"<home>/ligi/.ethash" |
| --ethash.dagsinmem &lt;value&gt; | メモリ内に保持する直近のethash mining DAGの数を指定します。(各々1+GB) | 1 |
| --ethash.dagsondisk &lt;value&gt; | ディスク上に保持する直近のethash mining DAGの数を指定します。(各々1+GB) | 2 |

# TRANSACTION POOL OPTIONS
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --txpool.nolocals | ローカルで送信されたトランザクションの価格免除を無効にします | - |
| --txpool.journal &lt;value&gt; | ノードの再起動によりローカルトランザクションが消えてしまわないようにするためのディスクジャーナルの名前を指定します。 | "transactions.rlp"|
| --txpool.rejournal &lt;value&gt; | ローカルトランザクションジャーナル再生成するための時間間隔を指定します。 | 1h0m0s|
| --txpool.pricelimit &lt;value&gt; | プールへの受け入れを強制するための最低ガス価格制限を指定します。 | 1 |
| --txpool.pricebump &lt;value&gt; | トランザクションプールに既に存在するトランザクションを置き換えるための価格上昇率を指定します。 | 10 |
| --txpool.accountslots &lt;value&gt; | アカウント毎に保証されている実行可能トランザクションスロットの最小数を指定します。 | 16 |
| --txpool.globalslots &lt;value&gt; | 全アカウントの実行可能トランザクションスロットの最大数を指定します。 | 4096 |
| --txpool.accountqueue &lt;value&gt; | アカウントごとに許可されている実行不能トランザクションスロットの最大数を指定します。 | 64 |
| --txpool.globalqueue &lt;value&gt; | 全アカウントの実行不可トランザクションスロットの最大数を指定します。 | 1024 |
| --txpool.lifetime &lt;value&gt; | 実行不能トランザクションがキューに入れられる最大時間を指定します。 | 3h0m0s) |

# PERFORMANCE TUNING OPTIONS
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --cache &lt;value&gt;            | 内部キャッシュに割り当てらるメモリをメガバイトで指定します。 | 1024 |
| --cache.database &lt;value&gt;   | データベースIOに使用するキャッシュメモリの許容量のパーセンテージを指定します。 | 75 |
| --cache.gc &lt;value&gt; | trie pruningに使用するキャッシュメモリ許容量のパーセンテージを指定します。 | 25 |
| --trie-cache-gens &lt;value&gt;  | メモリに保持するtrie nodeの世代数を指定します。 | 120 |

# API AND CONSOLE OPTIONS
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --rpc                  | HTTP-RPC サーバを有効にします。 | - |
| --rpcaddr &lt;value&gt;        | HTTP-RPC サーバのリスニングインターフェイスを指定します。  | "localhost" |
| --rpcport &lt;value&gt;        | HTTP-RPC サーバのリスニングポートを指定します。 | 8545 |
| --rpcapi &lt;value&gt;         | HTTP-RPCインターフェースを介して提供されるAPIを指定します。 | |
| --ws                   | WS-RPC サーバを有効にします。 | - |
| --wsaddr &lt;value&gt;         | WS-RPC サーバのリスニングインターフェイスを指定します。  | "localhost" |
| --wsport &lt;value&gt;         | WS-RPC サーバのリスニングポートを指定します。 | 8546 |
| --wsapi &lt;value&gt;          | WS-RPC インターフェースを介して提供されるAPIを指定します。 | |
| --wsorigins &lt;value&gt;      | WebSocketリクエストを受け付けるoriginを指定します。 | |
| --ipcdisable           | IPC-RPC サーバを無効にします。 | - |
| --ipcpath &lt;value&gt;        | datadir内のIPCソケット/パイプのファイル名を指定します。 | |
| --rpccorsdomain &lt;value&gt;  | クロスoriginリクエストを受け付けるドメインのカンマ区切りリストを指定します。（ブラウザ強制） | |
| --rpcvhosts &lt;value&gt;      | リクエストを受け付ける仮想ホスト名のコンマ区切りリストを指定します（サーバー強制）。ワイルドカード「*」を指定することもできます。 | "localhost" |
| --jspath &lt;value&gt;    | loadScript用のJavaScriptのルートパスを指定します。 | "." |
| --exec &lt;value&gt; | JavaScriptステートメントを実行します。 | |
| --preload &lt;value&gt;        | コンソールにプリロードするJavaScriptファイルのコンマ区切りリストを指定します。 | |

# MINER OPTIONS
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --mine                    | マイニングを有効にします。 | - |
| --minerthreads &lt;value&gt;      | マイニングに使うCPUスレッド数を指定します。 | 8 |
| --etherbase &lt;value&gt;         | ブロックマイニングの報酬先をパブリックアドレスで指定します。 | 最初のアカウント。"0"。 |
| --targetgaslimit &lt;value&gt;    | マイニングするブロックのガスのリミットを指定します。 | 4712388 |
| --gasprice &lt;value&gt; | トランザクションのマイニングに必要な最低限のGas Price を指定します。 | |
| --extradata &lt;value&gt;         | ブロックに保持する任意のバイト配列（マイナーの自由）を指定します。最大32バイト。 | クライアントのバージョン |

# GAS PRICE ORACLE OPTIONS
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --gpoblocks &lt;value&gt;      | ガス価格をチェックするための直近のブロック数を指定します。 | 20 |
| --gpopercentile &lt;value&gt;  | 推奨ガス価格を求めるための、直近のトランザクションガス価格のパーセンタイルを指定します。 | 60 |

# VIRTUAL MACHINE OPTIONS:
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --vmdebug | VMおよびコントラクトのデバッグに役立つ情報を記録します。 | - |

# LOGGING AND DEBUGGING OPTIONS
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --metrics                 | 収集と報告の指標を有効にします。 | - |
| --fakepow                 | proof-of-workの検証を無効にします。 | - |
| --nocompaction            | インポート後のデータベースの圧縮を無効にします。 | - |
| --verbosity &lt;value&gt;         | ログのレベルを指定します : 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail | 3 |
| --vmodule &lt;value&gt;           | モジュール毎のログのレベルを指定します : <pattern>=<level> でカンマ区切り (例 eth/*=5,p2p=4) | |
| --backtrace &lt;value&gt;         | 特定のロギングステートメントでスタックトレースを要求します。 (例 "block.go:271") | |
| --debug                   | 呼び出し元の場所（ファイルと行番号）をログメッセージに付加します。 | - |
| --pprof                   | pprof HTTP サーバ を有効にします。 | - |
| --pprofaddr &lt;value&gt;         | pprof HTTP サーバのリスニングインターフェイスを指定します。 | "127.0.0.1" |
| --pprofport &lt;value&gt;         | pprof HTTP サーバのリスニングポートを指定します。 | 6060 |
| --memprofilerate &lt;value&gt;    | 指定したレートに達すると、メモリプロファイリングが動作します。 | 524288 |
| --blockprofilerate &lt;value&gt;  | 指定したレートに達すると、ブロックプロファイリングが動作します。 | 0 |
| --cpuprofile &lt;value&gt;        | 与えられたファイルへCPUプロファイルを書き込みます。 | |
| --trace &lt;value&gt;             | 与えられたファイルへ実行トレースを書き込みます。 | |

# WHISPER (EXPERIMENTAL) OPTIONS:
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --shh                       | Whisperを有効にします。 | - |
| --shh.maxmessagesize &lt;value&gt;  | 許容するメッセージの最大サイズを指定します。 | 1048576 |
| --shh.pow &lt;value&gt;             | 許容する最小POWを指定します。 | 0.2 |
  
# 廃止予定のオプション :
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --fast   | 状態のダウンロードによる高速同期を有効にします。（--syncmode に置き換えられました）| - |
| --light  | lightクライアントモードを有効にします。 (--syncmode に置き換えられました) | - |
  
# その他のオプション:
| オプション       |       説明 |デフォルト|
|:-----------------|:------------------|:------------------|
| --help, -h | ヘルプを表示します。 | - |

#参考
- [go-ethereum wiki - Command Line Options](https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options)
(ligi edited this page on 19 Jun 2018 · 40 revisions)
- [go-ethereum wiki - Connecting to the network](https://github.com/ethereum/go-ethereum/wiki/Connecting-to-the-network)


[^1]:  Light Ethereum Subprotocol