以太坊客户端Geth命令用法-参数详解
东阿制造
发表于 2022-11-4 23:30:22
128
0
0
熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册。 本文主要是对geth help的翻译,基于最新的geth 1.7.3-stable版本。
命令用法
8 b3 d/ o8 E9 R( H6 c, o+ L
geth [选项] 命令 [命令选项] [参数…]
版本: q7 l& { Q- E3 j+ s1 H
2 {, G- t; e5 R2 H2 |
1.7.3-stable
9 I4 O: Y' v% g" V0 Y F1 j* J
命令:
account 管理账户# V& l/ [$ z+ o
attach 启动交互式JavaScript环境(连接到节点)
+ O9 G) f6 ~9 D) O s& Q9 n: \9 q, F
bug 上报bug Issues/ ]1 d# V4 X, Y' ?9 e% \
console 启动交互式JavaScript环境
! j! l8 ?% R, F" W+ v/ ] B, p( W
copydb 从文件夹创建本地链0 L3 B1 h |$ X4 a& r; H. e
dump Dump(分析)一个特定的块存储3 u7 J) l' m5 h7 C$ A
dumpconfig 显示配置值
export 导出区块链到文件
7 k5 k& I% i1 I, v8 X
import 导入一个区块链文件
) D& p: F. n& W( B
init 启动并初始化一个新的创世纪块$ e* l- Y& m/ b# N
js 执行指定的JavaScript文件(多个)' L+ P* f3 o$ ]
% N2 h2 {3 e! k9 F- O
license 显示许可信息( j7 j# K! z' p
( @ A# ~, R8 {( |0 s) z
makecache 生成ethash验证缓存(用于测试)
) W# o7 ^* Y8 F, O* l8 N
makedag 生成ethash 挖矿DAG(用于测试)8 M3 t/ p2 D0 p9 g1 w
monitor 监控和可视化节点指标8 R B, z, ^$ f3 c3 M
removedb 删除区块链和状态数据库- x) ^2 Q/ [! X7 A4 G7 y) N
/ S# D9 ~. c4 ^
version 打印版本号3 {4 M( z2 {8 X9 v% }( M$ O. h3 V
wallet 管理Ethereum预售钱包. N/ c6 j Q' }5 A
# p" V) G7 U; b5 \6 U
help,h 显示一个命令或帮助一个命令列表2 a) }" d; d# X& c6 v
ETHEREUM选项:
--config value TOML 配置文件
--datadir “xxx” 数据库和keystore密钥的数据目录
* V2 N' e% B8 e) x: \6 s
--keystore keystore存放目录(默认在datadir内)" W9 f" `! q- Y4 C5 B4 i0 J
w6 Q( u- f3 s" s6 z. c
--nousb 禁用监控和管理USB硬件钱包+ n' g A0 J( r4 t. {; M- U' @! s
+ r% }: [. g* r4 p. ]4 v8 H7 `
--networkid value 网络标识符(整型, 1=Frontier, 2=Morden (弃用), 3=Ropsten, 4=Rinkeby) (默认: 1)) @+ q6 j h2 j' i8 S8 O; v
--testnet Ropsten网络:预先配置的POW(proof-of-work)测试网络6 f2 | X2 @' j) H/ B
3 j+ L- s& o6 u* G% I6 h$ O9 _! p
--rinkeby Rinkeby网络: 预先配置的POA(proof-of-authority)测试网络
! ^8 }8 @! {9 t. t8 l7 ]$ ?
--syncmode "fast" 同步模式 ("fast", "full", or "light")/ } e" J5 l9 L' C# W3 _1 A9 i
--ethstats value 上报ethstats service URL (nodename:secret@host:port)
--identity value 自定义节点名
5 |/ G% s! Y2 G* e6 k
--lightserv value 允许LES请求时间最大百分比(0 – 90)(默认值:0)6 h7 z: t. {4 g! }# i- g9 v# u
--lightpeers value 最大LES client peers数量(默认值:20)- Y2 C, n% v2 V* E5 [: n
. x6 c7 B. V* B9 |- p" w! P
--lightkdf 在KDF强度消费时降低key-derivation RAM&CPU使用* c, z, T2 \) k
开发者(模式)选项:5 ^# a$ c) x: Z$ N; `, c* \
--dev 使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。
6 Y$ p, w: _* r, a0 n8 t
--dev.period value 开发者模式下挖矿周期 (0 = 仅在交易时) (默认: 0)
ETHASH 选项:
--ethash.cachedir ethash验证缓存目录(默认 = datadir目录内)# p! m6 o) P7 G/ t
--ethash.cachesinmem value 在内存保存的最近的ethash缓存个数 (每个缓存16MB ) (默认: 2)
% m8 W$ M: W9 [9 T
--ethash.cachesondisk value 在磁盘保存的最近的ethash缓存个数 (每个缓存16MB) (默认: 3)
--ethash.dagdir "" 存ethash DAGs目录 (默认 = 用户hom目录)
! D. k6 f& K7 j3 M' @" X
--ethash.dagsinmem value 在内存保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 1)
--ethash.dagsondisk value 在磁盘保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 2)
, ` k# o1 D8 R
交易池选项:. u* b. s2 p1 ]3 |( u! J0 f+ A( l
--txpool.nolocals 为本地提交交易禁用价格豁免
--txpool.journal value 本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp")
# O. g X1 E! w- F7 i
--txpool.rejournal value 重新生成本地交易日志的时间间隔 (默认: 1小时)
--txpool.pricelimit value 加入交易池的最小的gas价格限制(默认: 1)
--txpool.pricebump value 价格波动百分比(相对之前已有交易) (默认: 10)
--txpool.accountslots value 每个帐户保证可执行的最少交易槽数量 (默认: 16)
$ m) c6 k, ]% a( E
--txpool.globalslots value 所有帐户可执行的最大交易槽数量 (默认: 4096)& E, y" q! |! d3 ~" `, \
--txpool.accountqueue value 每个帐户允许的最多非可执行交易槽数量 (默认: 64)- n) a& M0 ?8 |! I
--txpool.globalqueue value 所有帐户非可执行交易最大槽数量 (默认: 1024)
% l8 G9 `: l4 z; `$ F
--txpool.lifetime value 非可执行交易最大入队时间(默认: 3小时)9 O; |8 F q$ o M
; R! n* k' H' h6 K
性能调优的选项:
--cache value 分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128)- G% a1 b2 ~6 E7 o
--trie-cache-gens value 保持在内存中产生的trie node数量(默认:120)( p0 M0 f! K6 b. ?$ Q
帐户选项:# K( e3 K& Z7 P; x% C4 a+ E. M
--unlock value 需解锁账户用逗号分隔
% z0 G0 n1 Y& C, h. O$ L
--password value 用于非交互式密码输入的密码文件
& O- k" ?- x: u4 @, H
API和控制台选项:
6 V+ \! ]: _$ D: i. h+ p8 `
--rpc 启用HTTP-RPC服务器
+ f, V8 h4 o6 g' E b+ c* o
--rpcaddr value HTTP-RPC服务器接口地址(默认值:“localhost”)* p5 p& f. L- e
--rpcport value HTTP-RPC服务器监听端口(默认值:8545)4 H* n. N2 a: ~/ [+ U" \7 Q- C
--rpcapi value 基于HTTP-RPC接口提供的API
--ws 启用WS-RPC服务器2 q X& \0 m" b, \+ y! |9 j. i
--wsaddr value WS-RPC服务器监听接口地址(默认值:“localhost”)
' w f7 x, E: c# c5 `
--wsport value WS-RPC服务器监听端口(默认值:8546)6 M* `) W, q* \8 l/ L; i+ m% c
--wsapi value 基于WS-RPC的接口提供的API# I9 r3 w! Q6 @5 p
--wsorigins value websockets请求允许的源
$ x& I. n$ ?/ s2 `0 t8 i- _
--ipcdisable 禁用IPC-RPC服务器5 y8 x3 ]' x% J5 h+ a
" |* [' j8 _( ]+ Q1 J
--ipcpath 包含在datadir里的IPC socket/pipe文件名(转义过的显式路径)
--rpccorsdomain value 允许跨域请求的域名列表(逗号分隔)(浏览器强制)
--jspath loadScript JavaScript加载脚本的根路径(默认值:“.”)
7 Y! H, @: C5 U) `0 O5 f9 R) v2 L
--exec value 执行JavaScript语句(只能结合console/attach使用)
--preload value 预加载到控制台的JavaScript文件列表(逗号分隔)4 J5 U3 p/ ^% a# [6 v
网络选项:8 n- _4 G$ ?, B; M2 ~5 K' a, K5 Y& h X
: K. y( i5 @3 s2 v
--bootnodes value 用于P2P发现引导的enode urls(逗号分隔)(对于light servers用v4+v5代替)
--bootnodesv4 value 用于P2P v4发现引导的enode urls(逗号分隔) (light server, 全节点)
--bootnodesv5 value 用于P2P v5发现引导的enode urls(逗号分隔) (light server, 轻节点)
( y; |7 P4 }$ }. r' u6 M
--port value 网卡监听端口(默认值:30303)
--maxpeers value 最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:25): z# l( M6 c2 F' H6 f$ Q. @2 ~
--maxpendpeers value 最大尝试连接的数量(如果设置为0,则将使用默认值)(默认值:0)' ^3 P$ ?: x% v5 M* @! }
# ?# V. X$ U* ]) F
--nat value NAT端口映射机制 (any|none|upnp|pmp|extip:[I]) (默认: “any”)
7 C0 E+ e' l& w, T
--nodiscover 禁用节点发现机制(手动添加节点)
--v5disc 启用实验性的RLPx V5(Topic发现)机制
% X0 J7 e$ `' d d d
--nodekey value P2P节点密钥文件
--nodekeyhex value 十六进制的P2P节点密钥(用于测试)
: F( m* }' w9 M" O% `) O( t/ C
矿工选项:
--mine 打开挖矿4 n6 H1 E+ u1 B% Y, `
--minerthreads value 挖矿使用的CPU线程数量(默认值:8)" m0 n9 P; k- @& z7 m
--etherbase value 挖矿奖励地址(默认=第一个创建的帐户)(默认值:“0”)& n9 ?. Y1 ]2 h- O% C3 j
, k. S% n7 a- e# p8 `+ {
--targetgaslimit value 目标gas限制:设置最低gas限制(低于这个不会被挖?) (默认值:“4712388”)4 s+ y4 R9 i% e/ c/ T% Q9 l% o) H
5 M+ a7 z3 |* J* u% q2 U$ U& H
--gasprice value 挖矿接受交易的最低gas价格" x# p& _$ _; z/ T
--extradata value 矿工设置的额外块数据(默认=client version)$ b; D/ u) j O; s( |
' v# ]6 M, C9 I+ L5 {- v
GAS价格选项:
--gpoblocks value 用于检查gas价格的最近块的个数 (默认: 10); E9 n6 r* D' s
--gpopercentile value 建议gas价参考最近交易的gas价的百分位数,(默认: 50)0 L% Z9 K5 h) C, |3 [7 C
虚拟机的选项:' {; Q, B b4 i
--vmdebug 记录VM及合约调试信息
: m( \; o, l* c3 A! H1 L2 l+ N) \
日志和调试选项:
2 D/ K4 R; p8 C1 L! B- k
--metrics 启用metrics收集和报告; i! p2 S1 x* f/ R
; |% `" e+ f3 x0 ~
--fakepow 禁用proof-of-work验证 n. G6 C; ^, ]. c& E' O$ q, j
" P/ n! \8 X# O$ e2 P \) O
--verbosity value 日志详细度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3)
4 t d8 _: O: q% s! U" C
--vmodule value 每个模块详细度:以 =的逗号分隔列表 (比如 eth/*=6,p2p=5)
--backtrace value 请求特定日志记录堆栈跟踪 (比如 “block.go:271”): K0 L+ f! w4 k; T5 c
--debug 突出显示调用位置日志(文件名及行号); C1 B1 v# M* l) z ]5 b/ E
Z$ C' J7 `2 c8 F* l
--pprof 启用pprof HTTP服务器
( D$ ^, K, j' _
--pprofaddr value pprof HTTP服务器监听接口(默认值:127.0.0.1)- U; q. Y/ Q) B& T: q* p
--pprofport value pprof HTTP服务器监听端口(默认值:6060)
--memprofilerate value 按指定频率打开memory profiling (默认:524288)
--blockprofilerate value 按指定频率打开block profiling (默认值:0)
- N! |0 i6 R: q9 H4 b
--cpuprofile value 将CPU profile写入指定文件! B5 u" ?" j+ M8 W' N
--trace value 将execution trace写入指定文件
WHISPER实验选项:
4 Y4 G, ]# z0 @ v# A
--shh 启用Whisper
--shh.maxmessagesize value 可接受的最大的消息大小 (默认值: 1048576)
--shh.pow value 可接受的最小的POW (默认值: 0.2)
$ `+ x9 R; S8 A% b
弃用选项:; s i4 q0 @1 \1 W; l, Z
--fast 开启快速同步
--light 启用轻客户端模式/ H# y: m: o" L- @
" w. r( j* \# P
其他选项:/ M5 E; E) u; O3 I2 ~5 g2 b
–help, -h 显示帮助
成为第一个吐槽的人