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)