Geth 命令行选项
Last updated
Last updated
Geth 是最常用的以太坊客户端之一,使用它可以运行本区块链平台的节点,验证交易等。
本文介绍了 Geth 命令的用法和参数。更多的使用方法请参考完整的 。
本文基于以太坊官方文档,原英文文档请参考 。
geth [选项] [命令] [命令选项] [参数...]
1.10.4
account 管理账户
attach 启动交互式JavaScript环境(连接到节点)
console 启动交互式JavaScript环境
db 低层数据库操作
dump 将指定区块从存储中转储
dumpconfig 显示配置值
dumpgenesis 将创世区块JSON配置转储至标准输出设备
export 将区块链导出为文件
export-preimages 将原像数据库导出为RLP stream
genesisTool 一组辅助本区块链创世区块配置的命令
import 导入一个区块链文件
import-preimages 从一个RLP stream导入原像
init 引导并初始化一个新的创世块
js 执行指定的多个JavaScript文件
license 显示许可信息
makecache 生成ethash验证缓存(用于测试)
makedag 生成ethash挖矿DAG文件(用于测试)
removedb 移除区块链和状态数据库
show-deprecated-flags 显示已弃用的flags
snapshot 基于快照的一组命令
version 打印版本号
version-check (在线)查询当前版本是否存在已知的安全漏洞
wallet 管理Ethereum预售钱包
help, h 显示命令列表,或使用help显示一个命令
--config value TOML配置文件
--datadir value 数据库和keystore密钥的数据目录 (默认: "/Users/zhaochen/Library/Ethereum")
--datadir.ancient value 历史链数据存放目录 (默认 = 在chaindata内)
--datadir.minfreedisk value 最小可用磁盘空间(MB)达到设定值自动关闭(默认 = --cache.gc 转换成MB, 0 = 关闭)
--keystore value keystore存放目录(默认 = 在datadir内)
--usb 启用监控和管理USB硬件钱包
--pcscdpath value smartcard daemon (pcscd) socket文件的路径
--networkid value 显式地设置网络id(整型)(测试网则使用 --ropsten, --rinkeby, --goerli) (默认: 1)
--mainnet 以太坊主网
--goerli Görli网络:预先配置的PoA(proof-of-authority)测试网络
--rinkeby Rinkeby网络:预先配置的PoA(proof-of-authority)测试网络
--baikal Bailkal网络:预先配置的PoA(proof-of-authority)临时测试网络
--ropsten Ropsten网络:预先配置的PoW(proof-of-work)测试网络
--syncmode value 区块链同步模式 ("fast", "full", "snap" or "light")(默认: fast)
--exitwhensynced 区块同步完成后退出
--gcmode value 区块链garbage收集模式 ("full", "archive") (默认: "full")
--txlookuplimit value 最近维护的交易索引所在的区块数量 (默认 = 约一年, 0 = 整条链) (默认: 2350000)
--ethstats value 配置ethstats报表服务的URL(nodename:secret@host:port)
--identity value 自定义节点名称
--lightkdf 通过降低KDF强度来降低密钥衍生对的RAM和CPU使用
--whitelist value 区块编号和哈希的映射,用逗号隔开 (<编号>=<哈希>)
--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 超轻服务器只发送announcement声明
--light.nopruning 禁用历史的轻链数据修剪
--light.nosyncserve 启用轻客户端同步前的服务
--dev 暂时使用POA共识网络,分配一个已存入费用的开发者账户并且开启挖矿
--dev.period value 开发者模式下挖矿周期 (0 = 只在交易进行中时挖矿) (默认: 0)
--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文件的目录 (默认: "/Users/zhaochen/Library/Ethash")
--ethash.dagsinmem value 最近保存在内存的ethash挖矿DAG文件个数 (每个1GB以上) (默认: 1)
--ethash.dagsondisk value 最近保存在磁盘的ethash挖矿DAG文件个数 (每个1GB以上) (默认: 2)
--ethash.dagslockmmap 锁定内存映射中最近的ethash挖矿DAG文件
--txpool.locals value 可被当做本地帐户的帐户列表(no flush, priority inclusion),用逗号隔开
--txpool.nolocals 禁用本地提交交易的价格豁免
--txpool.journal value 本地交易的磁盘日志,用于节点重启 (默认: "transactions.rlp")
--txpool.rejournal value 重新生成本地交易日志的时间间隔 (默认: 1h0m0s)
--txpool.pricelimit value 加入交易池的最小的gas价格限制 (默认: 1)
--txpool.pricebump value 价格波动百分比,产生时可以取代已有交易 (默认: 10)
--txpool.accountslots value 每个帐户最少要有的可执行交易槽数量 (默认: 16)
--txpool.globalslots value 所有帐户总共最多可有的可执行交易槽数量 (默认: 4096)
--txpool.accountqueue value 每个帐户最多可有的不可执行交易槽数量 (默认: 64)
--txpool.globalqueue value 所有帐户总共最多可有的不可执行交易槽数量 (默认: 1024)
--txpool.lifetime value 非可执行交易最大入队时间 (默认: 3h0m0s)
--cache value 分配给内部缓存的内存MB数量 (默认 = 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缓存日志的时间间隔 (默认: 1h0m0s)
--cache.gc value 分配给修剪trie的缓存内存百分比 (默认 = 25% 完整模式, 0% 归档模式) (默认: 25)
--cache.snapshot value 分配给快照缓存的缓存内存百分比 (默认 = 10% 完整模式, 20% 归档模式) (默认: 10)
--cache.noprefetch 在区块导入时禁用启发式状态预读取 (减少CPU和磁盘IO, 等待数据时间更长)
--cache.preimages 启用为trie密钥记录SHA3/keccak原像
--unlock value 待解锁帐户列表,用逗号隔开
--password value 用于非交互式密码输入的密码文件
--signer value 外部签名方 (url或ipc文件路径)
--allow-insecure-unlock 当http暴露与帐户相关的RPC时,允许解锁不安全的帐户
--ipcdisable 禁用IPC-RPC服务器
--ipcpath value 在datadir中的IPC socket/pipe文件名(显式路径则转义)
--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 可从列表中的虚拟主机名接收跨源请求,用逗号隔开(浏览器强制) 。接受'*'通配符。(默认: "localhost")
--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 在the HTTP-RPC服务器上启用GraphQL。GraphQL只能在HTTP服务器开启的情况下启动。
--graphql.corsdomain value 可从列表中的域接收跨源请求,用逗号隔开(浏览器强制)
--graphql.vhosts value 可从列表中的虚拟主机名接收请求,用逗号隔开(服务器强制)。 接受'*'通配符。 (默认: "localhost")
--rpc.gascap value 为 eth_call/estimateGas 调用设置gas限制 (0=不限) (默认: 25000000)
--rpc.txfeecap value 为可以通过RPC API发送的交易设置手续费 (比太币表示) 限制 (0 = 不限) (默认: 1)
--rpc.allow-unprotected-txs 允许未加保护的(没有EIP155签名)交易通过RPC提交
--jspath loadScript JavaScript加载脚本的根路径 (默认: ".")
--exec value 执行JavaScript语句
--preload value 预加载到控制台的JavaScript文件列表,用逗号隔开
--bootnodes value 用于P2P发现引导的enode URL,用逗号分隔
--discovery.dns value 设定DNS发现接入点(用 "" 关闭DNS)
--port value 网络监听端口 (默认: 30303)
--maxpeers value 最大网络peer节点数量 (设为 0 则停用网络) (默认: 50)
--maxpendpeers value 最大尝试连接的数量 (设为 0 则使用默认值) (默认: 0)
--nat value NAT端口映射机制 (any|none|upnp|pmp|extip:<IP>) (默认: "any")
--nodiscover 禁用peer节点发现机制(手动添加peer节点)
--v5disc 启用实验性的RLPx V5(Topic发现)机制
--netrestrict value 限制指定IP网络的通信(CIDR masks)
--nodekey value P2P节点密钥文件
--nodekeyhex value 十六进制的P2P节点密钥(用于测试)
--mine 开启挖矿
--miner.threads value 挖矿使用的CPU线程数量 (默认: 0)
--miner.notify value 用来通知新的工作包的HTTP URL列表,用逗号隔开
--miner.notify.full 使用挂起块区块头通知代替工作包通知
--miner.gasprice value 挖矿接受交易的最低gas价格(默认: 1000000000)
--miner.gastarget value 挖出块的最低目标gas (默认: 8000000)
--miner.gaslimit value 挖出块的最高目标gas (默认: 8000000)
--miner.etherbase value 接收挖矿奖励的公开地址(public address)(默认 = 第一个帐户)(默认: "0")
--miner.extradata value 矿工设置的额外块数据(默认 = client version)
--miner.recommit value 重新生成已挖区块的时间间隔(默认: 1s)
--miner.noverify 禁用远程sealing验证
--gpo.blocks value 用于检查gas价格的最近块的个数 (默认: 20)
--gpo.percentile value 设置最近交易的gas价格的百分位数,用于设置建议gas价格 (默认: 60)
--gpo.maxprice value Gas价格预言机推荐的最大gas价格 (默认: 500000000000)
--gpo.ignoreprice value Gas价格低于该值时预言机将忽略交易 (默认: 2)
--vmdebug 记录对VM及合约调试有用的信息
--vm.evm value 外部EVM配置 (默认 = built-in interpreter)
--vm.ewasm value 外部ewasm配置(默认 = built-in interpreter)
--fakepow 禁用proof-of-work验证
--nocompaction 导入后取消数据库压缩
--verbosity value 日志详细度: 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (默认: 3)
--vmodule value 每个模块详细度: 以逗号分隔的 <pattern>=<level> 列表 (例如 eth/*=5,p2p=4)
--log.json 将日志转为JSON格式
--log.backtrace value 请求特定日志statement的堆栈跟踪 (例如 "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 按指定频率打开memory profiling(默认: 524288)
--pprof.blockprofilerate value 按指定频率打开block profiling(默认: 0)
--pprof.cpuprofile value 将CPU profile写入指定文件
--trace value 将execution trace写入指定文件
--metrics 启用metrics收集和报告
--metrics.expensive 启用expensive metrics收集和报告
--metrics.addr value 启用独立metrics HTTP服务器监听接口 (默认: "127.0.0.1")
--metrics.port value Metrics HTTP 服务器监听端口 (默认: 6060)
--metrics.influxdb 开启metrics导出/到外部InfluxDB数据库
--metrics.influxdb.endpoint value 向此InfluxDB API 端点报告metrics (默认: "http://localhost:8086")
--metrics.influxdb.database value 接收metrics报告的InfluxDB数据库名称(默认: "geth")
--metrics.influxdb.username value 用于授权访问数据库的用户名 (默认: "test")
--metrics.influxdb.password value 用于授权访问数据库的密码 (默认: "test")
--metrics.influxdb.tags value 所有InfluxDB measurement的tags (key/values),用逗号隔开 (默认: "host=localhost")
--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)
--snapshot 启用snapshot-database模式 (默认 = 启用)
--bloomfilter.size value 分配给布隆过滤器进行修剪(pruning)的内存MB数量(默认: 2048)
--help, -h 显示帮助
--catalyst Catalyst模式(eth2集成测试)
--override.london value 手动设定伦敦硬分叉区块,覆盖bundled设置 (默认: 0)
Copyright 2013-2021 The go-ethereum Authors