以太坊客户端Geth命令用法-参数详解
东阿制造
发表于 2022-11-4 23:30:22
92
0
0
! _, M7 @; H7 [
熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册。 本文主要是对geth help的翻译,基于最新的geth 1.7.3-stable版本。
命令用法
4 E' y* f2 J1 \5 [$ f% f* M
geth [选项] 命令 [命令选项] [参数…]
版本:6 O* R* }/ Y. M5 H; O! V2 S6 h
8 c5 r4 Z, D8 ~& g/ t1 ~ A1 j' I
1.7.3-stable
命令:# }2 X1 V6 h$ v: ?3 v
0 x9 d7 n( `; I
account 管理账户
$ l$ Y/ H# f8 o3 W; T- Z/ p2 q
attach 启动交互式JavaScript环境(连接到节点)
bug 上报bug Issues
console 启动交互式JavaScript环境
$ ]. B- P7 g3 I; x
copydb 从文件夹创建本地链1 [! L! {$ l/ b- q$ m1 b* `& N
* P! k3 i5 h: |9 ?& Z7 @0 i3 D8 Y: s
dump Dump(分析)一个特定的块存储
dumpconfig 显示配置值
export 导出区块链到文件
) e+ |' B$ K6 X% l1 i" O
import 导入一个区块链文件
2 W! t7 A4 h; S% e; A9 c7 U
init 启动并初始化一个新的创世纪块: I: N: O ~3 \3 \' ~* \
' d+ m: |) u V! i7 G% u ~
js 执行指定的JavaScript文件(多个)
# }4 n/ [5 L/ C* @5 J
license 显示许可信息
9 D2 ]3 O: u( l9 w5 X2 t t; V
makecache 生成ethash验证缓存(用于测试)
makedag 生成ethash 挖矿DAG(用于测试)+ G( j( B+ @. X4 M$ U
6 l1 Q* f9 o0 \' h& J' T( j% U6 f
monitor 监控和可视化节点指标' R$ P6 ]0 f) f; q+ X) Y
@/ G( H% X; ]
removedb 删除区块链和状态数据库
version 打印版本号
3 b/ J, K; {+ A. b$ x
wallet 管理Ethereum预售钱包1 ^. |- C8 Q2 P+ |
help,h 显示一个命令或帮助一个命令列表
/ H) Y: w2 o% F& Q- \! w6 a
ETHEREUM选项:
, w7 P: ?! A. ]; ?
--config value TOML 配置文件. s3 {; E k h4 K
& U1 \& H- E- ]+ o
--datadir “xxx” 数据库和keystore密钥的数据目录
" ]5 e& E, @' |! W# @7 y, q
--keystore keystore存放目录(默认在datadir内)9 F$ p7 k( U( k% v
--nousb 禁用监控和管理USB硬件钱包
# [. S2 d4 L( D/ M- B
--networkid value 网络标识符(整型, 1=Frontier, 2=Morden (弃用), 3=Ropsten, 4=Rinkeby) (默认: 1)+ s, y% i! m7 U! y$ \: t
# ?! E" a# b" t' F- a
--testnet Ropsten网络:预先配置的POW(proof-of-work)测试网络
1 G* M0 e" `! Z: d5 A+ s
--rinkeby Rinkeby网络: 预先配置的POA(proof-of-authority)测试网络
--syncmode "fast" 同步模式 ("fast", "full", or "light")9 H" b! R( z: F+ A: Q7 f
--ethstats value 上报ethstats service URL (nodename:secret@host:port)# y- j! Y& f- o1 ^- t, Z
& |4 g3 D0 f' M, d' Q, A" l
--identity value 自定义节点名
--lightserv value 允许LES请求时间最大百分比(0 – 90)(默认值:0)( i/ ?/ o9 i- {% ]- ]2 ?& z
# j+ Q' t, K1 n5 x9 {1 J
--lightpeers value 最大LES client peers数量(默认值:20)7 d$ z# M; O' y' K
--lightkdf 在KDF强度消费时降低key-derivation RAM&CPU使用
' q0 s2 A& s2 C6 I
开发者(模式)选项:
6 j9 T1 Z% D/ Q
--dev 使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。
--dev.period value 开发者模式下挖矿周期 (0 = 仅在交易时) (默认: 0)
ETHASH 选项:/ ^8 _7 Z! v2 a$ ~- P/ U0 R- o
--ethash.cachedir ethash验证缓存目录(默认 = datadir目录内)
) f1 ^$ o4 W. |3 b2 u+ w# S
--ethash.cachesinmem value 在内存保存的最近的ethash缓存个数 (每个缓存16MB ) (默认: 2) ~: l9 Z! y! J) @
--ethash.cachesondisk value 在磁盘保存的最近的ethash缓存个数 (每个缓存16MB) (默认: 3)
3 E& W R, [+ P# o8 ]/ |: L y2 a6 S
--ethash.dagdir "" 存ethash DAGs目录 (默认 = 用户hom目录)
--ethash.dagsinmem value 在内存保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 1)
--ethash.dagsondisk value 在磁盘保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 2)" _* p3 A$ P( k; f
交易池选项:
--txpool.nolocals 为本地提交交易禁用价格豁免- @0 R, ^ h. g8 l# A% S# Y
--txpool.journal value 本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp")
--txpool.rejournal value 重新生成本地交易日志的时间间隔 (默认: 1小时), h. [: M! Y2 z2 h
7 b" W m; W+ ~+ h
--txpool.pricelimit value 加入交易池的最小的gas价格限制(默认: 1)
' q9 B% }0 k$ [
--txpool.pricebump value 价格波动百分比(相对之前已有交易) (默认: 10)* |$ a* A" Q) w
--txpool.accountslots value 每个帐户保证可执行的最少交易槽数量 (默认: 16) ~3 c! r1 ?; L
( f/ R) p0 i. ?: k/ S0 t% T8 C
--txpool.globalslots value 所有帐户可执行的最大交易槽数量 (默认: 4096)8 s& m% U7 K: i# M5 n' M& U0 ]9 _2 t
--txpool.accountqueue value 每个帐户允许的最多非可执行交易槽数量 (默认: 64)3 x( `$ b1 Q7 T. G4 T j9 w
0 J3 p/ m6 ]+ L
--txpool.globalqueue value 所有帐户非可执行交易最大槽数量 (默认: 1024)
& x, Q7 e: b8 U* t
--txpool.lifetime value 非可执行交易最大入队时间(默认: 3小时)' f* t( r' N2 Q1 \ L& F$ S
性能调优的选项:4 Z7 i: F, ]- B, M( T% o$ G' f
--cache value 分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128)" E. E) [! r, c
1 ?! w9 c( f, A" E" s5 j, L6 Y$ @+ c
--trie-cache-gens value 保持在内存中产生的trie node数量(默认:120)
帐户选项:
( R9 S4 `, ?" e) Z2 [9 H
--unlock value 需解锁账户用逗号分隔
--password value 用于非交互式密码输入的密码文件
$ u" t# t! D. _4 p4 x) r
API和控制台选项:
--rpc 启用HTTP-RPC服务器
--rpcaddr value HTTP-RPC服务器接口地址(默认值:“localhost”); f2 A r7 y) |2 j
) h5 |$ \, H! _
--rpcport value HTTP-RPC服务器监听端口(默认值:8545)5 ]% r, H- U, m( j* A1 |
+ G2 U* G4 m4 f: h
--rpcapi value 基于HTTP-RPC接口提供的API$ @" p6 c3 c: k, d* u2 G
. Y9 ^( k' Y" H, \1 }1 ~
--ws 启用WS-RPC服务器
5 Y6 t ^. s3 `. |: R i( Q5 V$ ^- o
--wsaddr value WS-RPC服务器监听接口地址(默认值:“localhost”)8 ^# I9 Y. Z0 B$ X! F
: G4 U! }5 O9 j/ [5 q
--wsport value WS-RPC服务器监听端口(默认值:8546)2 r# u+ i6 a) N3 I' I$ ~' O
--wsapi value 基于WS-RPC的接口提供的API* B4 z$ I2 w- Z/ w* [8 B
* ~8 j3 J4 y* n0 h# X
--wsorigins value websockets请求允许的源
4 D, `7 Z+ ?# `3 G
--ipcdisable 禁用IPC-RPC服务器
--ipcpath 包含在datadir里的IPC socket/pipe文件名(转义过的显式路径), Z8 a" y/ X; x/ M6 d4 V
--rpccorsdomain value 允许跨域请求的域名列表(逗号分隔)(浏览器强制)
) q1 a. }2 L( \$ _, U$ }2 i
--jspath loadScript JavaScript加载脚本的根路径(默认值:“.”)
/ J% p9 T, c- t7 S
--exec value 执行JavaScript语句(只能结合console/attach使用)
--preload value 预加载到控制台的JavaScript文件列表(逗号分隔)" x: A2 O+ M9 T( z
- f) S, a0 x( L1 S! k
网络选项:) ` G+ G9 P$ Z, H0 g
--bootnodes value 用于P2P发现引导的enode urls(逗号分隔)(对于light servers用v4+v5代替)3 e! _1 i0 d* J! C& b
5 M3 Y: ^8 u# T1 g
--bootnodesv4 value 用于P2P v4发现引导的enode urls(逗号分隔) (light server, 全节点)
' n6 S! i+ P& U+ u
--bootnodesv5 value 用于P2P v5发现引导的enode urls(逗号分隔) (light server, 轻节点). m! k! l" Q4 C3 J$ }& l
6 S) {3 C, s& e* ?) ^0 f- _: b
--port value 网卡监听端口(默认值:30303)2 {. ^5 k# x k5 J7 o
5 u4 q0 J3 O/ h* B. E
--maxpeers value 最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:25)* c0 d# Y" N: X' i# p2 I
--maxpendpeers value 最大尝试连接的数量(如果设置为0,则将使用默认值)(默认值:0)
( h; k `8 Y! Z7 b6 t C; j
--nat value NAT端口映射机制 (any|none|upnp|pmp|extip:[I]) (默认: “any”): b4 O% }! R, O, l' s/ z
* \4 @5 a- [7 E( ?
--nodiscover 禁用节点发现机制(手动添加节点)9 J7 Y/ j( l8 W
: a1 R) B' f3 B! Z& _
--v5disc 启用实验性的RLPx V5(Topic发现)机制
--nodekey value P2P节点密钥文件
--nodekeyhex value 十六进制的P2P节点密钥(用于测试)5 o) d5 c5 L+ y8 S- D
# y3 e* J+ p! S; c
矿工选项:
1 D: ]# r- h9 S0 }# X3 ]
--mine 打开挖矿( @7 E/ [3 i" P/ W0 H# o
--minerthreads value 挖矿使用的CPU线程数量(默认值:8)
, ?0 |; @( b$ {
--etherbase value 挖矿奖励地址(默认=第一个创建的帐户)(默认值:“0”)
f5 T$ _* ]* z9 Y
--targetgaslimit value 目标gas限制:设置最低gas限制(低于这个不会被挖?) (默认值:“4712388”)
; F% W: j! o d( ? W
--gasprice value 挖矿接受交易的最低gas价格
--extradata value 矿工设置的额外块数据(默认=client version)
GAS价格选项:: n! ^6 O- {% D) |1 ~) ^
--gpoblocks value 用于检查gas价格的最近块的个数 (默认: 10)
( ?0 P, V9 r* D* h% d* C" I5 I
--gpopercentile value 建议gas价参考最近交易的gas价的百分位数,(默认: 50)4 V6 Q: u. p" y0 ` m# \& ]( U6 g0 w
虚拟机的选项:9 ]" o( M6 M/ [: H' _( J3 {/ _( P
--vmdebug 记录VM及合约调试信息# M( f0 R7 V/ L
; \0 {7 ^1 c$ O5 D _0 T2 |- M
日志和调试选项:- c( Y; t. n/ Q! h2 h. }
--metrics 启用metrics收集和报告7 m# N( J y7 k: x7 d4 z; A# l( U
: p5 @: E, j. _1 |$ }' n
--fakepow 禁用proof-of-work验证
--verbosity value 日志详细度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3)
--vmodule value 每个模块详细度:以 =的逗号分隔列表 (比如 eth/*=6,p2p=5)
7 i1 N" ~* Y/ v* [% `% G# r
--backtrace value 请求特定日志记录堆栈跟踪 (比如 “block.go:271”)) U9 e# r$ H$ k( D8 \
--debug 突出显示调用位置日志(文件名及行号)) A: _- ^. W0 i! D2 f, E
- ^9 w1 \5 d' E0 B6 V
--pprof 启用pprof HTTP服务器
6 P- v1 C' S9 q0 G% F; v$ Z, m" s4 m
--pprofaddr value pprof HTTP服务器监听接口(默认值:127.0.0.1) q1 l( {% d/ `
! k9 K# n) ^5 C2 c& r, @: q
--pprofport value pprof HTTP服务器监听端口(默认值:6060)" X8 b" F( l7 o% v8 \
0 [0 X8 N0 w6 w* N) H/ g- o
--memprofilerate value 按指定频率打开memory profiling (默认:524288)
--blockprofilerate value 按指定频率打开block profiling (默认值:0)8 V% h" \9 E) ]0 J3 T9 A: z, M
) G8 K- |5 B3 B
--cpuprofile value 将CPU profile写入指定文件/ k. f3 `( p% O. d% Z
. x7 E1 R& e9 M( h. m
--trace value 将execution trace写入指定文件+ g7 g2 {/ j J3 k6 R( d9 }
" |+ I2 z" e9 n$ j ^2 Q4 _
WHISPER实验选项:! h' L- J4 H# X3 O: C7 |
--shh 启用Whisper& m) i+ |/ C. w
--shh.maxmessagesize value 可接受的最大的消息大小 (默认值: 1048576)
& Z2 }; P8 j; b1 x+ o) k& S5 _
--shh.pow value 可接受的最小的POW (默认值: 0.2)$ u+ J1 L# b0 T1 ~( j
弃用选项:4 T$ M x- e: [; R. d
--fast 开启快速同步) d0 I8 t+ |; L8 g5 K, e
--light 启用轻客户端模式0 J3 O$ |3 c) _
% I! h6 i# h5 j7 B4 M
其他选项:
–help, -h 显示帮助
成为第一个吐槽的人