以太坊客户端Geth命令用法-参数详解
东阿制造
发表于 2022-11-4 23:30:22
93
0
0
熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册。 本文主要是对geth help的翻译,基于最新的geth 1.7.3-stable版本。
命令用法: \ U' ]6 P( F
geth [选项] 命令 [命令选项] [参数…]
版本:
F* F! G& c1 r( }
1.7.3-stable
" I( e5 R9 @, ^2 j% m; U
命令:
account 管理账户- E- l! v' M$ X, Z4 X2 F
attach 启动交互式JavaScript环境(连接到节点)
: R u. I# m$ ]7 m) f
bug 上报bug Issues4 V# T& ?8 p. f3 A5 H
. Y8 w+ c1 z- A/ p
console 启动交互式JavaScript环境
, v5 [4 k2 ~3 W% z% c/ N4 f
copydb 从文件夹创建本地链 p0 @5 J/ W* x1 g& n5 A9 i
dump Dump(分析)一个特定的块存储1 W9 c1 g! l# z% r5 D& c
dumpconfig 显示配置值 W( |3 E# L9 S7 N3 O5 R/ n d
5 x6 x+ F' X( m' {9 L* x+ d
export 导出区块链到文件' T7 W5 d* c- P! _8 z
import 导入一个区块链文件
init 启动并初始化一个新的创世纪块
2 k- A& h( v& [* T; J [: t: x
js 执行指定的JavaScript文件(多个)
license 显示许可信息
$ ?% r! h# g+ C! s! P
makecache 生成ethash验证缓存(用于测试)
makedag 生成ethash 挖矿DAG(用于测试)! K% W. `$ l$ r" i
# c7 x p& L8 w9 O. R% s
monitor 监控和可视化节点指标
% ` w Q$ k A6 p
removedb 删除区块链和状态数据库' X2 H2 j0 c) E
version 打印版本号% l- Z% e$ P @7 \
. B6 |0 w4 D& a) t# o
wallet 管理Ethereum预售钱包
1 l, ~$ j# }7 [# \% F! B& t0 J
help,h 显示一个命令或帮助一个命令列表+ K' Y; k9 C- t# l2 J$ i/ D; E/ W
ETHEREUM选项:3 \ o" H& ^0 X7 c7 K5 {' I
--config value TOML 配置文件
+ y: y: j, ]2 [5 G- z
--datadir “xxx” 数据库和keystore密钥的数据目录
--keystore keystore存放目录(默认在datadir内)# i; ?: o: X3 Q! @
--nousb 禁用监控和管理USB硬件钱包3 Y7 N2 B$ ~9 b# Q. _
2 M2 K s: R0 v' g6 ^ z" R
--networkid value 网络标识符(整型, 1=Frontier, 2=Morden (弃用), 3=Ropsten, 4=Rinkeby) (默认: 1)& ^9 O; m$ P3 M& ^
--testnet Ropsten网络:预先配置的POW(proof-of-work)测试网络+ F. K' T5 j* Q1 V; o4 c( Y
--rinkeby Rinkeby网络: 预先配置的POA(proof-of-authority)测试网络
--syncmode "fast" 同步模式 ("fast", "full", or "light"). J7 H' u$ ?( ]$ x
9 [' z: W9 H. T2 ~6 R
--ethstats value 上报ethstats service URL (nodename:secret@host:port)0 ~* J! p) I. `
9 V9 |: q9 ^: `' D$ v5 r
--identity value 自定义节点名' `9 J# D! Q1 e' X: i
) I: V! k& V9 [" {- z
--lightserv value 允许LES请求时间最大百分比(0 – 90)(默认值:0)
--lightpeers value 最大LES client peers数量(默认值:20)
--lightkdf 在KDF强度消费时降低key-derivation RAM&CPU使用
开发者(模式)选项:
--dev 使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。
: e) u4 r* {1 g# R3 I4 j
--dev.period value 开发者模式下挖矿周期 (0 = 仅在交易时) (默认: 0)
ETHASH 选项:
. k3 J% _1 W: o, V8 o" q1 C
--ethash.cachedir ethash验证缓存目录(默认 = datadir目录内)
7 t" [& }8 X: Q6 g) l* l" x! G4 n
--ethash.cachesinmem value 在内存保存的最近的ethash缓存个数 (每个缓存16MB ) (默认: 2); i) g+ e2 \2 G/ c
--ethash.cachesondisk value 在磁盘保存的最近的ethash缓存个数 (每个缓存16MB) (默认: 3)5 @( u: D/ k. H/ W6 m1 N2 J
" ^" d4 y- a# _- C* L, e
--ethash.dagdir "" 存ethash DAGs目录 (默认 = 用户hom目录)
# ?! b6 o7 Z! l) |) }' X
--ethash.dagsinmem value 在内存保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 1)# E+ f$ a4 f0 f8 B `
--ethash.dagsondisk value 在磁盘保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 2)
6 b6 ~0 {- S8 L$ X# j
交易池选项:; b% R9 v6 T; w( x: F0 [' g; w2 U
--txpool.nolocals 为本地提交交易禁用价格豁免
3 p0 |, I' s" V1 X( ?
--txpool.journal value 本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp")7 i0 p# Y7 G) {3 I( s
--txpool.rejournal value 重新生成本地交易日志的时间间隔 (默认: 1小时)) w1 r* M; }+ b/ P& p
--txpool.pricelimit value 加入交易池的最小的gas价格限制(默认: 1)
. {( D, k2 X# k; A8 a5 ]
--txpool.pricebump value 价格波动百分比(相对之前已有交易) (默认: 10)
S3 D% E! C! E1 B
--txpool.accountslots value 每个帐户保证可执行的最少交易槽数量 (默认: 16)' Y$ T) k6 v. n: x3 s, f1 g/ U
3 K5 e. F; r7 [6 v! @, Y+ |2 j
--txpool.globalslots value 所有帐户可执行的最大交易槽数量 (默认: 4096)
! V! O0 y" b% _' Y$ q& ?
--txpool.accountqueue value 每个帐户允许的最多非可执行交易槽数量 (默认: 64)5 N( @- \' O) I! L4 @
--txpool.globalqueue value 所有帐户非可执行交易最大槽数量 (默认: 1024)
9 G* z1 v E) m+ P) x- O- ?
--txpool.lifetime value 非可执行交易最大入队时间(默认: 3小时)
7 L8 d6 D( \( s8 z
性能调优的选项:% t+ i, `) s/ T6 V9 b0 O4 [
3 D; H( ?& M3 h/ u5 L) [ Q
--cache value 分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128)
--trie-cache-gens value 保持在内存中产生的trie node数量(默认:120)/ k. n2 `8 v! h/ b8 W6 \
帐户选项:2 h% A, E. C" B4 u: [0 y5 l) \
--unlock value 需解锁账户用逗号分隔& e2 g( ]7 ?, J z+ t8 n( o- D9 O
--password value 用于非交互式密码输入的密码文件
6 t4 b! Q6 f) j& [) |' J8 e
API和控制台选项:
( ]( u7 D1 R1 L; P6 Q1 W
--rpc 启用HTTP-RPC服务器
--rpcaddr value HTTP-RPC服务器接口地址(默认值:“localhost”)5 E( o0 @ D& K; y
5 j& D y$ ^4 r' M0 t) y
--rpcport value HTTP-RPC服务器监听端口(默认值:8545)* d& |% @0 T' m! N
' R; T3 Y9 U" Z0 y% m
--rpcapi value 基于HTTP-RPC接口提供的API, Z% y3 e# D6 {. A
( z; J& n# }9 J3 x1 g0 M
--ws 启用WS-RPC服务器- s- e) ?/ d y/ [/ d
--wsaddr value WS-RPC服务器监听接口地址(默认值:“localhost”)
+ W; f5 @6 h4 g- N' z7 Z* _5 Z- J
--wsport value WS-RPC服务器监听端口(默认值:8546)$ m P' u1 o' s( u' w
4 {4 H% p8 i$ O" M4 |4 f% U: {
--wsapi value 基于WS-RPC的接口提供的API
--wsorigins value websockets请求允许的源
# h6 B* Q6 S( D* Z
--ipcdisable 禁用IPC-RPC服务器
--ipcpath 包含在datadir里的IPC socket/pipe文件名(转义过的显式路径)# G; c0 f! _& g5 d" |3 h; }8 t
--rpccorsdomain value 允许跨域请求的域名列表(逗号分隔)(浏览器强制)
& c* W) ~, d J0 m! ~1 F( Q5 z
--jspath loadScript JavaScript加载脚本的根路径(默认值:“.”)3 C" z; i% Q4 I
--exec value 执行JavaScript语句(只能结合console/attach使用)
--preload value 预加载到控制台的JavaScript文件列表(逗号分隔)5 M* h! P4 ^+ x7 N: N( q4 D# p
- f! a3 t4 ^/ P. ~# F: x1 k
网络选项:
1 V- B, p! O. E
--bootnodes value 用于P2P发现引导的enode urls(逗号分隔)(对于light servers用v4+v5代替)* J, Q( d* C' a; c: U5 j
. E1 R4 _6 R& Q* w/ ?8 c" L
--bootnodesv4 value 用于P2P v4发现引导的enode urls(逗号分隔) (light server, 全节点)5 r6 d# b8 z+ Q4 s
" O- s B) [9 z& ^ @; w# R. d
--bootnodesv5 value 用于P2P v5发现引导的enode urls(逗号分隔) (light server, 轻节点)+ P9 y4 L I6 Q# ]+ G8 n2 {
9 z0 u6 U9 R% s& k0 M- _
--port value 网卡监听端口(默认值:30303); _( @# s* U. e7 c1 e f U- }/ O0 c
--maxpeers value 最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:25)" Q N. w5 R2 A
--maxpendpeers value 最大尝试连接的数量(如果设置为0,则将使用默认值)(默认值:0)/ ]* K6 w7 i- l* E0 ]$ C6 z* }
--nat value NAT端口映射机制 (any|none|upnp|pmp|extip:[I]) (默认: “any”)5 B7 s2 J- {+ Z8 h1 B) q9 T4 j. w
--nodiscover 禁用节点发现机制(手动添加节点)+ o5 G. {+ b6 \, f1 X0 O
--v5disc 启用实验性的RLPx V5(Topic发现)机制: I' E0 T, P% ~, j
--nodekey value P2P节点密钥文件
7 s4 I6 s) b! O6 b( L
--nodekeyhex value 十六进制的P2P节点密钥(用于测试)" v7 d1 n* G6 a8 _: F
( ^3 r0 A# T. o0 h Q# J+ S3 E! e
矿工选项:3 y6 ?- |/ u# |4 o* t/ m
--mine 打开挖矿
--minerthreads value 挖矿使用的CPU线程数量(默认值:8), x8 \8 r A$ V- j/ N2 z# O
--etherbase value 挖矿奖励地址(默认=第一个创建的帐户)(默认值:“0”)3 N' l: {# }* i m7 h
3 C. _& h; G6 {! u1 N
--targetgaslimit value 目标gas限制:设置最低gas限制(低于这个不会被挖?) (默认值:“4712388”)' w' g- n& _7 T/ A3 T6 {" b
4 L5 v" ~" w$ L8 x: s3 `
--gasprice value 挖矿接受交易的最低gas价格
--extradata value 矿工设置的额外块数据(默认=client version)
GAS价格选项:/ N% X9 n% \, M7 i0 |5 h. }* k
--gpoblocks value 用于检查gas价格的最近块的个数 (默认: 10): k# X& |' G4 G2 A- i9 }
. ]+ o2 W2 t/ y
--gpopercentile value 建议gas价参考最近交易的gas价的百分位数,(默认: 50)
3 M+ c. B/ C0 i; x4 s
虚拟机的选项:
--vmdebug 记录VM及合约调试信息
p. Z) ^+ v( A# |, I" _/ s
日志和调试选项:
--metrics 启用metrics收集和报告8 C5 v' F' s& g4 E2 Z! `$ @3 f& j! @( `
--fakepow 禁用proof-of-work验证
6 R/ c$ y. t1 U. l
--verbosity value 日志详细度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3): u3 W& R- y, L% M9 q8 _
--vmodule value 每个模块详细度:以 =的逗号分隔列表 (比如 eth/*=6,p2p=5); N" s7 z8 z6 l5 h
5 i4 Q7 N/ q2 L) {* y' O" i
--backtrace value 请求特定日志记录堆栈跟踪 (比如 “block.go:271”)
6 r1 Q; w8 a4 Y( }
--debug 突出显示调用位置日志(文件名及行号): l! Z" ~9 n3 F) v
9 U: C6 D7 i- o9 t; [2 C1 e. @
--pprof 启用pprof HTTP服务器7 r& ]9 d# g( q3 f; ^% k# E% \" n9 D
--pprofaddr value pprof HTTP服务器监听接口(默认值:127.0.0.1)' [ F. ^1 _- L: D, G- n
--pprofport value pprof HTTP服务器监听端口(默认值:6060) ?; ~9 v" H7 N2 v+ b
--memprofilerate value 按指定频率打开memory profiling (默认:524288)
--blockprofilerate value 按指定频率打开block profiling (默认值:0) t l. H s7 M2 B
--cpuprofile value 将CPU profile写入指定文件8 d) q& R6 C1 V+ X7 f) Q
X8 F: K+ i- |2 f
--trace value 将execution trace写入指定文件( S G. V) B# `/ R: d, @, j
' s/ q0 N3 D1 u% C* q# h
WHISPER实验选项:2 H* }3 k/ U- z* o* G
--shh 启用Whisper l0 v, r1 z! r( Q8 V) A
--shh.maxmessagesize value 可接受的最大的消息大小 (默认值: 1048576)
0 \; x% Y) {7 }& b2 t& i2 e2 ]
--shh.pow value 可接受的最小的POW (默认值: 0.2)# I$ X& u8 y& H% z. [; {
弃用选项:6 r' N9 f! z, p
8 J. ~; g6 C) y V f5 j6 [4 r
--fast 开启快速同步
3 U2 q8 G' I" L C$ N7 x* }, b/ G
--light 启用轻客户端模式
4 M F, M, {3 {2 F. K
其他选项:$ v! i9 m+ t$ D4 ]2 O
" x! \4 z+ Q- f1 n, m
–help, -h 显示帮助
成为第一个吐槽的人