geth命令参数详解 - 老马资料库

geth命令参数详解

类别:程序开发 时间:2023-02-05 00:28:28 点击:347




本文按原始分类简单解释这些参数的含义。


一、基本信息

C:\Program Files\Geth>geth --help

NAME:

   geth.exe - the go-ethereum command line interface

   Copyright 2013-2019 The go-ethereum Authors         

 

USAGE:                                                 //命令方法

   geth.exe [options] command [command options] [arguments...]

   geth.exe [选项] 命令 [命令选项] [参数…]

VERSION:

   1.9.14-stable-6d74d1e5                              //版本信息

 

.......................................................//后面逐段解释

 

COPYRIGHT:

   Copyright 2013-2020 The go-ethereum Authors         //版权信息

 

C:\Program Files\Geth>

 


二、命令

COMMANDS:

   account                            Manage accounts

                                      //管理账号

   attach                             Start an interactive JavaScript environment (connect to node)

                                      //启动交互式JavaScript环境(连接到节点)

   console                            Start an interactive JavaScript environment

                                      //启动交互式JavaScript环境

   copydb                             Create a local chain from a target chaindata folder

                                      //从目标链数据文件夹创建本地链

   dump                               Dump a specific block from storage

                                      //分析(转储)一个特定块

   dumpconfig                         Show configuration values

                                      //显示配置值

   dumpgenesis                        Dumps genesis block JSON configuration to stdout

                                      //将创世块JSON配置转储到stdout

   export                             Export blockchain into file

                                      //导出区块链到文件

   export-preimages                   Export the preimage database into an RLP stream

                                      //将preimage数据库导出到RLP流

   import                             Import a blockchain file

                                      //从文件导入区块链

   import-preimages                   Import the preimage database from an RLP stream

                                      //从RLP流导入preimage数据库

   init                               Bootstrap and initialize a new genesis block

                                      //初始化一个新的创世区块

   inspect                            Inspect the storage size for each type of data in the database

                                      //检查数据库中每种类型数据的存储大小

   js                                 Execute the specified JavaScript files

                                      //执行指定的js文件

   license                            Display license information

                                      //显示许可证信息

   makecache                          Generate ethash verification cache (for testing)

                                      //生成ethash验证缓存(用于测试)

   makedag                            Generate ethash mining DAG (for testing)

                                      //生成ethash挖矿DAG(用于测试)

   removedb                           Remove blockchain and state databases

                                      //删除区块链和状态数据库

   retesteth                          Launches geth in retesteth mode

                                      //以retesteth 模式启动geth

   show-deprecated-flags              Show flags that have been deprecated

                                      //显示已弃用的标志

   version                            Print version numbers

                                      //版本号信息

   wallet                             Manage Ethereum presale wallets

                                      //管理以太坊钱包

   help, h                            Shows a list of commands or help for one command

                                      //帮助,显示命令列表

 


三、ETHEREUM选项

ETHEREUM OPTIONS:

  --config value                      TOML configuration file

                                      //TOML配置文件

  --datadir value                     Data directory for the databases and keystore (default: "C:\\Users\\administrator\\AppData\\Local\\Ethereum")

                                      //节点数据库及keystore账户的数据目录

  --datadir.ancient value             Data directory for ancient chain segments (default = inside chaindata)

                                      //古老链段的数据目录(默认值 = 内部链数据)

  --keystore value                    Directory for the keystore (default = inside the datadir)

                                      //keystore账户的目录(默认值 = 在datadir中)

  --nousb                             Disables monitoring for and managing USB hardware wallets

                                      //禁用监控和管理USB硬件钱包

  --pcscdpath value                   Path to the smartcard daemon (pcscd) socket file

                                      //智能卡守护程序文件的路径

  --networkid value                   Network identifier (integer, 1=Frontier, 3=Ropsten, 4=Rinkeby, 5=Görli) (default: 1)

                                      //网络号(整数,默认值:1)

  --goerli                            Görli network: pre-configured proof-of-authority test network

                                      //Górli网络:预先配置的POA测试网络

  --rinkeby                           Rinkeby network: pre-configured proof-of-authority test network

                                      //Rinkeby网络:预先配置的POA测试网络

  --ropsten                           Ropsten network: pre-configured proof-of-work test network

                                      //Ropsten 网络:预先配置的POW测试网络

  --syncmode value                    Blockchain sync mode ("fast", "full", or "light") (default: fast)

                                      //区块链同步模式(“快速”、“完全”或“轻”节点)(默认:快速)

  --exitwhensynced                    Exits after block synchronisation completes

                                      //块同步完成后退出

  --gcmode value                      Blockchain garbage collection mode ("full", "archive") (default: "full")

                                      //区块链垃圾收集模式(“完全”,“存档”)(默认:“完全”)  

  --txlookuplimit value               Number of recent blocks to maintain transactions index by-hash for (default = index all blocks) (default: 0)

                                      //最近区块按哈希维护交易索引(默认 = 索引所有区块)(默认值:0)

  --ethstats value                    Reporting URL of a ethstats service (nodename:secret@host:port)

                                      //ethstats服务的报告URL(节点名:secret@host:端口)

  --identity value                    Custom node name

                                      //自定义节点名

  --lightkdf                          Reduce key-derivation RAM & CPU usage at some expense of KDF strength

                                      //在KDF强度消费时降低key-derivation的RAM和CPU使用

  --whitelist value                   Comma separated block number-to-hash mappings to enforce (<number>=<hash>)

                                      //白名单,强制分隔块号到哈希的映射

 


四、轻客户端选项

LIGHT CLIENT OPTIONS:

  --light.serve value                 Maximum percentage of time allowed for serving LES requests (multi-threaded processing allows values over 100) (default: 0)

                                      //允许LES请求时间最大百分比(多线程处理允许值超过100)(默认值:0)

  --light.ingress value               Incoming bandwidth limit for serving light clients (kilobytes/sec, 0 = unlimited) (default: 0)

                                      //为轻型客户端提供服务的传入带宽限制(千字节/秒,0 = 无限制)(默认值:0)

  --light.egress value                Outgoing bandwidth limit for serving light clients (kilobytes/sec, 0 = unlimited) (default: 0)

                                      //为轻型客户端提供服务的传出带宽限制(千字节/秒,0 = 无限制)(默认值:0)

  --light.maxpeers value              Maximum number of light clients to serve, or light servers to attach to (default: 100)

                                      //要服务的轻型客户端或要attach的轻型服务器的最大数量(默认值:100)

  --ulc.servers value                 List of trusted ultra-light servers

                                      //受信任的超轻型服务器列表

  --ulc.fraction value                Minimum % of trusted ultra-light servers required to announce a new head (default: 75)

                                      //受信任超轻型服务器的最小百分比(默认值:75)

  --ulc.onlyannounce                  Ultra light server sends announcements only

                                      //超轻型服务器仅发送公告

 


五、开发者(模式)选项

DEVELOPER CHAIN OPTIONS:

  --dev                               Ephemeral proof-of-authority network with a pre-funded developer account, mining enabled

                                      //使用POA共识网络,默认预分配一个开发者帐户,并且自动开启挖矿

  --dev.period value                  Block period to use in developer mode (0 = mine only if transaction pending) (default: 0)

                                      //开发者模式下的挖矿周期(0 = 仅在有等待打包的交易时挖矿)(默认值:0)

 


六、ETHASH选项

ETHASH OPTIONS:

  --ethash.cachedir value             Directory to store the ethash verification caches (default = inside the datadir)

                                      //ethash验证缓存目录(默认 = datadir目录内)

  --ethash.cachesinmem value          Number of recent ethash caches to keep in memory (16MB each) (default: 2)

                                      //在内存保存的最近的ethash缓存个数 (每个缓存16MB ) (默认: 2)

  --ethash.cachesondisk value         Number of recent ethash caches to keep on disk (16MB each) (default: 3)

                                      //在磁盘保存的最近的ethash缓存个数 (每个缓存16MB) (默认: 3)

  --ethash.cacheslockmmap             Lock memory maps of recent ethash caches

                                      //锁定最近ethash缓存的内存映射

  --ethash.dagdir value               Directory to store the ethash mining DAGs (default: "C:\\Users\\administrator\\AppData\\Local\\Ethash")

                                      //保存ethash DAGs目录 (默认 = 用户home目录)

  --ethash.dagsinmem value            Number of recent ethash mining DAGs to keep in memory (1+GB each) (default: 1)

                                      //在内存保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 1)

  --ethash.dagsondisk value           Number of recent ethash mining DAGs to keep on disk (1+GB each) (default: 2)

                                      //在磁盘保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 2)

  --ethash.dagslockmmap               Lock memory maps for recent ethash mining DAGs

                                      //锁定最近ethash DAGs的内存映射

 


七、交易池选项

TRANSACTION POOL OPTIONS:

  --txpool.locals value               Comma separated accounts to treat as locals (no flush, priority inclusion)

                                      //将分隔的帐户视为本地帐户(无刷新、优先)

  --txpool.nolocals                   Disables price exemptions for locally submitted transactions

                                      //为本地提交交易禁用价格豁免

  --txpool.journal value              Disk journal for local transaction to survive node restarts (default: "transactions.rlp")

                                      //本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp")

  --txpool.rejournal value            Time interval to regenerate the local transaction journal (default: 1h0m0s)

                                      //重新生成本地交易日志的时间间隔 (默认: 1小时)

  --txpool.pricelimit value           Minimum gas price limit to enforce for acceptance into the pool (default: 1)

                                      //加入交易池的最小的gas价格限制(默认: 1)

  --txpool.pricebump value            Price bump percentage to replace an already existing transaction (default: 10)

                                      //价格波动百分比(相对之前已有交易) (默认: 10)

  --txpool.accountslots value         Minimum number of executable transaction slots guaranteed per account (default: 16)

                                      //每个帐户保证可执行的最少交易槽数量  (默认: 16)

  --txpool.globalslots value          Maximum number of executable transaction slots for all accounts (default: 4096)

                                      //所有帐户可执行的最大交易槽数量 (默认: 4096)

  --txpool.accountqueue value         Maximum number of non-executable transaction slots permitted per account (default: 64)

                                      //每个帐户允许的最多非可执行交易槽数量 (默认: 64)

  --txpool.globalqueue value          Maximum number of non-executable transaction slots for all accounts (default: 1024)

                                      //所有帐户非可执行交易最大槽数量  (默认: 1024)

  --txpool.lifetime value             Maximum amount of time non-executable transaction are queued (default: 3h0m0s)

                                      //非可执行交易最大入队时间(默认: 3小时)

 


八、性能调优选项

PERFORMANCE TUNING OPTIONS:

  --cache value                       Megabytes of memory allocated to internal caching (default = 4096 mainnet full node, 128 light mode) (default: 1024)

                                      //分配给内部缓存的内存的兆字节 (默认值为: 1024)

  --cache.database value              Percentage of cache memory allowance to use for database io (default: 50)

                                      //用于数据库io的缓存内存预留百分比 (默认值为: 50)

  --cache.trie value                  Percentage of cache memory allowance to use for trie caching (default = 15% full mode, 30% archive mode) (default: 15)

                                      //用于trie缓存的缓存内存预留百分比 (默认值为: 15)

  --cache.gc value                    Percentage of cache memory allowance to use for trie pruning (default = 25% full mode, 0% archive mode) (default: 25)

                                      //用于trie修剪的缓存内存预留百分比 (默认值为:25)

  --cache.snapshot value              Percentage of cache memory allowance to use for snapshot caching (default = 10% full mode, 20% archive mode) (default: 10)

                                      //用于snapshot缓存的缓存内存预留百分比 (默认值为:10)

  --cache.noprefetch                  Disable heuristic state prefetch during block import (less CPU and disk IO, more time waiting for data)

                                      //块导入期间禁用启发式状态预取(CPU和磁盘IO更少,等待数据的时间更长)

 


九、账户选项

ACCOUNT OPTIONS:

  --unlock value                      Comma separated list of accounts to unlock

                                      //用逗号分割需解锁账户

  --password value                    Password file to use for non-interactive password input

                                      //用于非交互式密码输入的密码文件

  --signer value                      External signer (url or path to ipc file)

                                      //外部签名者(ipc文件的url或路径)

  --allow-insecure-unlock             Allow insecure account unlocking when account-related RPCs are exposed by http

                                      //http公开与帐户相关的rpc时,允许不安全的帐户解锁

 


十、API和控制台选项

API AND CONSOLE OPTIONS:

  --ipcdisable                        Disable the IPC-RPC server

                                      //禁用IPC-RPC服务

  --ipcpath value                     Filename for IPC socket/pipe within the datadir (explicit paths escape it)

                                      //包含在datadir里的IPC socket/pipe文件名(转义过的显式路径)

  --http                              Enable the HTTP-RPC server

                                      //启用HTTP-RPC服务

  --http.addr value                   HTTP-RPC server listening interface (default: "localhost")

                                      //HTTP-RPC服务侦听接口(IP地址,默认值:"localhost")

  --http.port value                   HTTP-RPC server listening port (default: 8545)

                                      //HTTP-RPC服务侦听端口(默认值:8545)

  --http.api value                    API's offered over the HTTP-RPC interface

                                      //通过HTTP-RPC接口提供API

  --http.corsdomain value             Comma separated list of domains from which to accept cross origin requests (browser enforced)

                                      //允许跨域请求的逗号分隔域名列表(浏览器强制)

  --http.vhosts value                 Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard. (default: "localhost")

                                      //接受请求的虚拟主机名的逗号分隔列表(服务器强制)。接受“*”通配符。(默认值:“localhost”)

  --ws                                Enable the WS-RPC server

                                      //启用WS-RPC服务

  --ws.addr value                     WS-RPC server listening interface (default: "localhost")

                                      //WS-RPC服务侦听接口(默认值:"localhost")

  --ws.port value                     WS-RPC server listening port (default: 8546)

                                      //WS-RPC服务侦听端口(默认值:8546)

  --ws.api value                      API's offered over the WS-RPC interface

                                      //通过WS-RPC接口提供API

  --ws.origins value                  Origins from which to accept websockets requests

                                      //websockets请求允许的源

  --graphql                           Enable the GraphQL server

                                      //启动GraphQL服务

  --graphql.addr value                GraphQL server listening interface (default: "localhost")

                                      //GraphQL服务侦听接口(默认值:"localhost")

  --graphql.port value                GraphQL server listening port (default: 8547)

                                      //GraphQL服务侦听端口(默认值:8546)

  --graphql.corsdomain value          Comma separated list of domains from which to accept cross origin requests (browser enforced)

                                      //允许跨域请求的逗号分隔域名列表(浏览器强制)

  --graphql.vhosts value              Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard. (default: "localhost")

                                      //接受请求的虚拟主机名的逗号分隔列表(服务器强制)。接受“*”通配符。(默认值:“localhost”)

  --rpc.gascap value                  Sets a cap on gas that can be used in eth_call/estimateGas (default: 0)

                                      //设置可在eth_call/estimateGas中使用的gas费上限(默认值:0)

  --jspath loadScript                 JavaScript root path for loadScript (default: ".")

                                      //JavaScript加载脚本的根路径 (default: ".")

  --exec value                        Execute JavaScript statement

                                      //执行JavaScript语句(需要结合console/attach命令一起使用)

  --preload value                     Comma separated list of JavaScript files to preload into the console

                                      //预加载到控制台的逗号分隔的JavaScript文件列表

 


十一、网络选项

NETWORKING OPTIONS:

  --bootnodes value                   Comma separated enode URLs for P2P discovery bootstrap

                                      //用于P2P发现bootstrap的逗号分隔的enode url

  --bootnodesv4 value                 Comma separated enode URLs for P2P v4 discovery bootstrap (light server, full nodes) (deprecated, use --bootnodes)

                                      //用于P2P v4发现bootstrap的逗号分隔的enode url(轻服务器, 全节点)

  --bootnodesv5 value                 Comma separated enode URLs for P2P v5 discovery bootstrap (light server, light nodes) (deprecated, use --bootnodes)

                                      //用于P2P v5发现bootstrap的逗号分隔的enode url(轻服务器, 轻节点)

  --discovery.dns value               Sets DNS discovery entry points (use "" to disable DNS)

                                      //设置DNS发现入口点(使用“”禁用DNS)

  --port value                        Network listening port (default: 30303)

                                      //网卡监听端口(默认值:30303)

  --maxpeers value                    Maximum number of network peers (network disabled if set to 0) (default: 50)

                                      //最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:50)

  --maxpendpeers value                Maximum number of pending connection attempts (defaults used if set to 0) (default: 0)

                                      //最大尝试连接的数量(如果设置为0,则将使用默认值)(默认值:0)

  --nat value                         NAT port mapping mechanism (any|none|upnp|pmp|extip:<IP>) (default: "any")

                                      //NAT端口映射机制 (any|none|upnp|pmp|extip:<IP>)(默认值: "any")

  --nodiscover                        Disables the peer discovery mechanism (manual peer addition)

                                      //禁用节点发现机制(手动添加节点)

  --v5disc                            Enables the experimental RLPx V5 (Topic Discovery) mechanism

                                      //启用实验性的RLPx V5(Topic发现)机制

  --netrestrict value                 Restricts network communication to the given IP networks (CIDR masks)

                                      //限制对给定IP网络的网络通信(CIDR掩码)

  --nodekey value                     P2P node key file

                                      //P2P节点密钥文件

  --nodekeyhex value                  P2P node key as hex (for testing)

                                      //十六进制的P2P节点密钥(用于测试)

 


十二、矿工选项

MINER OPTIONS:

  --mine                              Enable mining

                                      //启动挖矿

  --miner.threads value               Number of CPU threads to use for mining (default: 0)

                                      //挖矿使用的CPU线程数量(默认值:0)

  --miner.notify value                Comma separated HTTP URL list to notify of new work packages

                                      //逗号分隔的HTTP URL列表,用于通知新工作包

  --miner.gasprice value              Minimum gas price for mining a transaction (default: 1000000000)

                                      //挖矿交易的最低gas价格

  --miner.gastarget value             Target gas floor for mined blocks (default: 8000000)

                                      //被挖区块的目标gas的底层(默认值: 8000000),即被记录的区块提供的gas要高于该值,否则不会被记录

  --miner.gaslimit value              Target gas ceiling for mined blocks (default: 8000000)

                                      //被挖区块的目标gas的顶层(默认值: 8000000),即被记录的区块提供的gas要低于该值,否则不会被记录

  --miner.etherbase value             Public address for block mining rewards (default = first account) (default: "0")

                                      //挖矿奖励地址(默认 = 第一个创建的帐户)(默认值: "0")

  --miner.extradata value             Block extra data set by the miner (default = client version)

                                      //矿工设置的额外块数据(默认值 = 客户端版本)

  --miner.recommit value              Time interval to recreate the block being mined (default: 3s)

                                      //重新创建正在挖的块的时间间隔(默认值: 3s)

  --miner.noverify                    Disable remote sealing verification

                                      //禁用远程密封验证

 


十三、GAS价格选项

GAS PRICE ORACLE OPTIONS:

  --gpo.blocks value                  Number of recent blocks to check for gas prices (default: 20)

                                      //用于检查gas价格的最近生成的块的个数 (默认值: 20)

  --gpo.percentile value              Suggested gas price is the given percentile of a set of recent transaction gas prices (default: 60)

                                      //建议的gas价格是一组最近的交易gas价格的该给定百分比的值(default: 60)

 


十四、虚拟机选项

VIRTUAL MACHINE OPTIONS:

  --vmdebug                           Record information useful for VM and contract debugging

                                      //记录VM及合约调试的有用信息

  --vm.evm value                      External EVM configuration (default = built-in interpreter)

                                      //外部EVM配置(默认 = 内置解释器)

  --vm.ewasm value                    External ewasm configuration (default = built-in interpreter)

                                      //外部ewasm配置(默认 = 内置解释器)

 


十五、日志和调试选项

LOGGING AND DEBUGGING OPTIONS:

  --fakepow                           Disables proof-of-work verification

                                      //禁用proof-of-work验证

  --nocompaction                      Disables db compaction after import

                                      //在导入后禁用db压缩

  --verbosity value                   Logging verbosity: 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3)

                                      //日志详细度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (默认值: 3)

  --vmodule value                     Per-module verbosity: comma-separated list of <pattern>=<level> (e.g. eth/=5,p2p=4)

                                      //每个模块详细度:以 <pattern>=<level>的逗号分隔列表 (比如 eth/*=5,p2p=4)

  --backtrace value                   Request a stack trace at a specific logging statement (e.g. "block.go:271")

                                      //请求特定日志记录堆栈跟踪 (比如: "block.go:271")

  --debug                             Prepends log messages with call-site location (file and line number)

                                      //带有调用站点位置(文件和行号)的日志消息

  --pprof                             Enable the pprof HTTP server

                                      //启用pprof HTTP服务器

  --pprof.addr value                  pprof HTTP server listening interface (default: "127.0.0.1")

                                      //pprof HTTP服务器监听接口 (默认值: "127.0.0.1")

  --pprof.port value                  pprof HTTP server listening port (default: 6060)

                                      //pprof HTTP服务器监听端口 (默认值: 6060)

  --pprof.memprofilerate value        Turn on memory profiling with the given rate (default: 524288)

                                      //按该给定频率打开memory profiling(默认值: 524288)

  --pprof.blockprofilerate value      Turn on block profiling with the given rate (default: 0)

                                      //按指定频率打开block profiling (默认值: 0)

  --pprof.cpuprofile value            Write CPU profile to the given file

                                      //将CPU profile写入指定文件

  --trace value                       Write execution trace to the given file

                                      //将execution trace写入指定文件

 


十六、METRICS和状态选项

METRICS AND STATS OPTIONS:

  --metrics                           Enable metrics collection and reporting

                                      //启用标准metrics收集和报告

  --metrics.expensive                 Enable expensive metrics collection and reporting

                                      //启用昂贵metrics指标收集和报告

  --metrics.influxdb                  Enable metrics export/push to an external InfluxDB database

                                      //启用metrics导出/推送到外部的InfluxDB数据库

  --metrics.influxdb.endpoint value   InfluxDB API endpoint to report metrics to (default: "http://localhost:8086")

                                      //将metrics报告给InfluxDB数据库API端点(默认值: "http://localhost:8086")

  --metrics.influxdb.database value   InfluxDB database name to push reported metrics to (default: "geth")

                                      //将报告的metrics推送到的InfluxDB数据库的名称(默认值: "geth")

  --metrics.influxdb.username value   Username to authorize access to the database (default: "test")

                                      //授权访问数据库的用户名 (默认值: "test")

  --metrics.influxdb.password value   Password to authorize access to the database (default: "test")

                                      //授权访问数据库的密码 (默认值: "test")

  --metrics.influxdb.tags value       Comma-separated InfluxDB tags (key/values) attached to all measurements (default: "host=localhost")

                                      //连接到所有测量值的InfluxDB数据库主机标记(默认值: "localhost")

 


十七、WHISPER (实验)选项 

WHISPER (EXPERIMENTAL) OPTIONS:

  --shh                               Enable Whisper

                                      //启用Whisper

  --shh.maxmessagesize value          Max message size accepted (default: 1048576)

                                      //可接受的最大的消息大小 (default: 1048576)

  --shh.pow value                     Minimum POW accepted (default: 0.2)

                                      //可接受的最小的POW (default: 0.2)

  --shh.restrict-light                Restrict connection between two whisper light clients

                                      //限制两个Whisper客户端之间的连接

 


./build/bin/geth --datadir ../privateChain --networkid 6668 --nodiscover --dev --dev.period 1 console 2

./build/bin/geth --datadir ../privateChain --networkid 6668 --nodiscover --dev --dev.period 1 console 2>>geth.log