以太坊客户端Geth命令用法-参数详解
东阿制造
发表于 2022-11-4 23:30:22
88
0
0
熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册。 本文主要是对geth help的翻译,基于最新的geth 1.7.3-stable版本。
) ^ h1 r- L/ x$ M- Y7 I6 M* n
命令用法
geth [选项] 命令 [命令选项] [参数…], u' W6 {8 M7 c& w
$ |7 H- {0 w: F) w5 D
版本:
, ?8 o7 `. I: A+ d3 J; F9 M& [& r
1.7.3-stable
s( Y( _, t2 {$ l3 V3 `# P. j
命令:6 `0 \- ^/ J1 G1 E- P0 N
account 管理账户3 _* N9 c2 @$ w' b/ ?
attach 启动交互式JavaScript环境(连接到节点)- [4 J: D. D: H- F8 o7 O1 @
2 T/ a& a6 `4 L$ q$ G- y, {
bug 上报bug Issues; g. l2 U5 m! m* a+ s% ^4 f
console 启动交互式JavaScript环境- s) a2 b+ ^( f+ |
copydb 从文件夹创建本地链
6 U1 v! D* i5 v, l; S3 b; a; _4 B% ?
dump Dump(分析)一个特定的块存储
dumpconfig 显示配置值
/ V/ ^ ~% R* R% s" ]
export 导出区块链到文件
- g3 @' C+ r8 L2 K0 X( p. G+ B
import 导入一个区块链文件8 Q# p2 ~( u, V- y. t( Y- M) R0 N
init 启动并初始化一个新的创世纪块
js 执行指定的JavaScript文件(多个)
license 显示许可信息$ u2 g7 s4 s- m6 b# U; m5 h
8 A9 z3 K( b* ^* a. @
makecache 生成ethash验证缓存(用于测试), V4 s+ r+ V! D B+ Q( \
) N! T9 |8 e: y5 G
makedag 生成ethash 挖矿DAG(用于测试)" y- t3 ~' N! B# V. M/ u, ]# n
. g- P. ? n7 E8 |' k7 s
monitor 监控和可视化节点指标# l. d1 e+ d- |5 D0 Q3 _# R
& a) c. \/ U" F
removedb 删除区块链和状态数据库8 ?8 F' S3 i- J/ K6 o/ e7 ]
- s7 m( A2 a; M+ q# b6 k% `4 X
version 打印版本号. s" V& A- b8 [
- R, S7 m- i- y! W) z$ d
wallet 管理Ethereum预售钱包
help,h 显示一个命令或帮助一个命令列表
7 H) u4 U" V; o8 p1 }
ETHEREUM选项:+ v+ G- y- D* E, M- ?- x
& l5 A- P) h/ ~3 s& v. R$ \
--config value TOML 配置文件4 e8 x2 d+ `- d5 t0 v2 T
' ^& O3 {! h( d% q2 u: q, a
--datadir “xxx” 数据库和keystore密钥的数据目录
--keystore keystore存放目录(默认在datadir内)
( k% G3 Y8 M" b8 x9 y/ d
--nousb 禁用监控和管理USB硬件钱包
5 B. h; ^5 ]' g0 F \
--networkid value 网络标识符(整型, 1=Frontier, 2=Morden (弃用), 3=Ropsten, 4=Rinkeby) (默认: 1)
: I% C2 I* q. t, K8 x
--testnet Ropsten网络:预先配置的POW(proof-of-work)测试网络
--rinkeby Rinkeby网络: 预先配置的POA(proof-of-authority)测试网络
--syncmode "fast" 同步模式 ("fast", "full", or "light"), P- o- T& s' b+ R* i& y8 j
. G- j3 \8 [7 Q5 O4 e
--ethstats value 上报ethstats service URL (nodename:secret@host:port)
--identity value 自定义节点名
: ?! p% o: p: o
--lightserv value 允许LES请求时间最大百分比(0 – 90)(默认值:0)0 M1 \ e/ ~0 Q& i
) j4 _0 X9 q' W( o
--lightpeers value 最大LES client peers数量(默认值:20)
--lightkdf 在KDF强度消费时降低key-derivation RAM&CPU使用% p' r& w1 Q/ P2 n8 ^3 K: |
开发者(模式)选项:
--dev 使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。1 _9 k5 w" l5 V
3 E" m; L* T" I5 E: L1 ^# N
--dev.period value 开发者模式下挖矿周期 (0 = 仅在交易时) (默认: 0)
9 R" P$ b' i$ d
ETHASH 选项:$ s# }$ r, ?1 R9 o! p/ o
R/ |8 \1 B+ K& Z7 O. W
--ethash.cachedir ethash验证缓存目录(默认 = datadir目录内)( l: W( r. f0 {$ T2 [8 e, }
--ethash.cachesinmem value 在内存保存的最近的ethash缓存个数 (每个缓存16MB ) (默认: 2)1 {9 U6 y1 E. I$ h5 k5 `, G; l; H) s
--ethash.cachesondisk value 在磁盘保存的最近的ethash缓存个数 (每个缓存16MB) (默认: 3)
--ethash.dagdir "" 存ethash DAGs目录 (默认 = 用户hom目录), H2 Q5 Q) d% @, T1 `3 D
--ethash.dagsinmem value 在内存保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 1)1 c* v6 T* F& P$ V# I* U
+ O- E( H4 i" U0 A8 U
--ethash.dagsondisk value 在磁盘保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 2)- V( A' o+ D) a0 R. M( M4 N
交易池选项:) f# z& r" b. Z G8 B
--txpool.nolocals 为本地提交交易禁用价格豁免
--txpool.journal value 本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp")! B: M& y% a0 @0 _
--txpool.rejournal value 重新生成本地交易日志的时间间隔 (默认: 1小时), `. P. I0 A' U1 m* A/ O
) b1 D) Y9 S9 H4 l
--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)% c: y6 o- { `0 K) T
( _/ z0 Q3 l" G& {5 w
--txpool.lifetime value 非可执行交易最大入队时间(默认: 3小时)2 U# L" @. H/ ^: t
性能调优的选项:0 {, M/ x H6 Z8 b, b" W0 X
--cache value 分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128). \3 b) Y+ w( ]3 m2 W$ @
' J5 s3 L* z8 V% b! S8 N% M$ B8 N
--trie-cache-gens value 保持在内存中产生的trie node数量(默认:120)
5 N7 s& I+ S' {9 g u) `
帐户选项:
--unlock value 需解锁账户用逗号分隔
& \6 _6 C. |: k/ I h
--password value 用于非交互式密码输入的密码文件
9 _& Q4 W; u) H0 O
API和控制台选项:% A: y' T* g: S* ^& ]" I
4 R* B. N- T1 s+ {& F
--rpc 启用HTTP-RPC服务器
--rpcaddr value HTTP-RPC服务器接口地址(默认值:“localhost”)
--rpcport value HTTP-RPC服务器监听端口(默认值:8545)! l- z l5 o6 s
--rpcapi value 基于HTTP-RPC接口提供的API
--ws 启用WS-RPC服务器
--wsaddr value WS-RPC服务器监听接口地址(默认值:“localhost”)
--wsport value WS-RPC服务器监听端口(默认值:8546)+ M# R+ p0 l$ A$ c1 H) P7 [' l
--wsapi value 基于WS-RPC的接口提供的API
--wsorigins value websockets请求允许的源6 A5 ?1 ~$ B! ]. U! u
3 G$ ?0 C* U) q" z# n
--ipcdisable 禁用IPC-RPC服务器
5 O- x- e8 u' f m& {; Y! y! K+ P; |: t |
--ipcpath 包含在datadir里的IPC socket/pipe文件名(转义过的显式路径): _" w/ A% v; A$ H7 @8 E! o
# p' `5 m- ^) m: o% R
--rpccorsdomain value 允许跨域请求的域名列表(逗号分隔)(浏览器强制) t% T8 Z/ ~4 S. ?0 S1 r' T# t
. A# p/ B1 G- a! x6 i
--jspath loadScript JavaScript加载脚本的根路径(默认值:“.”)" c9 g7 Z' o- e+ Y
--exec value 执行JavaScript语句(只能结合console/attach使用): k! i* A# s5 m J2 l/ e2 p5 S
--preload value 预加载到控制台的JavaScript文件列表(逗号分隔)
1 m. @" x6 p6 s1 r4 R- }9 D
网络选项:
--bootnodes value 用于P2P发现引导的enode urls(逗号分隔)(对于light servers用v4+v5代替)& c. f2 K. B% H; z9 k
! i9 z/ P6 s6 P. S$ D9 T& A
--bootnodesv4 value 用于P2P v4发现引导的enode urls(逗号分隔) (light server, 全节点)
' T+ S, _) ^4 k' }* @: U
--bootnodesv5 value 用于P2P v5发现引导的enode urls(逗号分隔) (light server, 轻节点)
--port value 网卡监听端口(默认值:30303)7 b0 c! J( E. k, u
--maxpeers value 最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:25)) y+ H2 P! M! d l
--maxpendpeers value 最大尝试连接的数量(如果设置为0,则将使用默认值)(默认值:0)# G4 J1 D- ]6 @4 A% h9 y/ x4 y6 z
--nat value NAT端口映射机制 (any|none|upnp|pmp|extip:[I]) (默认: “any”)4 k% L4 }7 ^3 k8 F6 f: b
--nodiscover 禁用节点发现机制(手动添加节点)
`+ @2 }4 A" J8 Q
--v5disc 启用实验性的RLPx V5(Topic发现)机制
# k, a: f" v" N; N# M
--nodekey value P2P节点密钥文件1 I$ { }' [. a& Q" K z& B
--nodekeyhex value 十六进制的P2P节点密钥(用于测试), j4 b; s |1 C' M7 E0 n( F
! G; X3 c6 s+ |* J4 b' C& d
矿工选项:
! V6 \8 R+ f8 b
--mine 打开挖矿& J' ]) ?9 @/ K+ l, I8 H7 }
* f( y2 U* z0 O3 n# o6 Z$ t
--minerthreads value 挖矿使用的CPU线程数量(默认值:8)
--etherbase value 挖矿奖励地址(默认=第一个创建的帐户)(默认值:“0”)
/ T7 [* ~+ Y5 b ?( L. \( E
--targetgaslimit value 目标gas限制:设置最低gas限制(低于这个不会被挖?) (默认值:“4712388”)& g2 v" @) [0 ?3 w2 `4 ?
--gasprice value 挖矿接受交易的最低gas价格" y) D2 w) j: a# C
6 j( F. R9 u5 g; l' N
--extradata value 矿工设置的额外块数据(默认=client version): p6 |7 N/ D, \% k& @
6 F D3 z: D, M. w" T, t! E7 M4 ~
GAS价格选项:
--gpoblocks value 用于检查gas价格的最近块的个数 (默认: 10)* u3 D0 U+ U' h4 w$ h+ G
--gpopercentile value 建议gas价参考最近交易的gas价的百分位数,(默认: 50)
' Y# M. R$ H& s: X
虚拟机的选项:4 R1 `$ D& J" d6 N1 ]8 o
--vmdebug 记录VM及合约调试信息3 {4 C* F9 C3 J6 w+ E! Z! K3 O- h
日志和调试选项:
--metrics 启用metrics收集和报告5 G4 }" p# W# p/ ?4 K y ^% r- l
( j4 O! c, A5 `& T" \; X
--fakepow 禁用proof-of-work验证; B* v$ k# T d
) E- K2 H. O d4 N! j0 O
--verbosity value 日志详细度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3)
--vmodule value 每个模块详细度:以 =的逗号分隔列表 (比如 eth/*=6,p2p=5)% x# H+ t8 |0 A- b4 T2 W7 f
% P& j7 O' q' u" P! P
--backtrace value 请求特定日志记录堆栈跟踪 (比如 “block.go:271”)4 R/ [/ U, n; @( U6 K& V4 X
! W. C% E! d! p2 O" e
--debug 突出显示调用位置日志(文件名及行号): ^4 h6 o4 v; `/ M/ H* w
--pprof 启用pprof HTTP服务器$ _: n; I) D, h
u: {$ U- E; |, D0 r6 _& v6 A }* L
--pprofaddr value pprof HTTP服务器监听接口(默认值:127.0.0.1)
--pprofport value pprof HTTP服务器监听端口(默认值:6060) L5 O( D8 y. ]2 e0 H; \0 J( c: g3 c
--memprofilerate value 按指定频率打开memory profiling (默认:524288)5 i5 s/ i$ e' v+ s8 e
--blockprofilerate value 按指定频率打开block profiling (默认值:0)
+ i3 x6 R% [* l
--cpuprofile value 将CPU profile写入指定文件
" G! P: @% O9 E9 w6 Z
--trace value 将execution trace写入指定文件
1 b% s% x& @5 B# p, g
WHISPER实验选项:4 t- D! ~/ f9 i" G }
7 T, V5 Q j- f H, _
--shh 启用Whisper$ Q' M7 ]* p6 n
5 D: k2 j# X2 i7 D5 b
--shh.maxmessagesize value 可接受的最大的消息大小 (默认值: 1048576)7 | }0 T H; e
; \. p) @, a* [1 h6 p. w
--shh.pow value 可接受的最小的POW (默认值: 0.2)! A7 [6 c A, u
弃用选项:+ M0 d+ p" f+ e! R( l
3 |7 b2 R' [5 A2 }5 n) x3 M
--fast 开启快速同步
--light 启用轻客户端模式
& M( G0 f, ^5 J2 V* ^
其他选项:) v" W9 b8 f& v* I3 K
–help, -h 显示帮助
成为第一个吐槽的人