geth 命令参数详解

本文环境:

      操作系统: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)