Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

以太坊客户端Geth命令用法-参数详解

东阿制造
128 0 0
  Geth在以太坊智能合约开发中最常用的工具(必备开发工具),一个多用途的命令行工具。
5 V0 M( U6 E0 ]* C* s+ u5 O
0 t& i$ N* q: |0 _; W  _: L: U  熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册。 本文主要是对geth help的翻译,基于最新的geth 1.7.3-stable版本。
  s$ J# Q, b- F% E
- t  c, ?& K- l3 q! [  命令用法
7 x5 z7 h" i3 n3 j, b) m  o1 Q8 b3 d/ o8 E9 R( H6 c, o+ L
  geth [选项] 命令 [命令选项] [参数…]
$ U* O( F  R" U5 {% Y$ }
5 K1 Z" r* B3 `% }/ U1 w  版本:  q7 l& {  Q- E3 j+ s1 H
2 {, G- t; e5 R2 H2 |
  1.7.3-stable
  e. O0 l  O* x* I% N5 L* [/ h2 f9 I4 O: Y' v% g" V0 Y  F1 j* J
  命令:
" ]% O" n! p4 r& L" }' S9 ]
; t5 j: }1 ]8 d3 O  account 管理账户# V& l/ [$ z+ o

8 W8 d$ I0 P" t1 h9 t" Y; O: B6 y  attach 启动交互式JavaScript环境(连接到节点)
0 i5 f9 }' W5 Y# p+ O9 G) f6 ~9 D) O  s& Q9 n: \9 q, F
  bug 上报bug Issues/ ]1 d# V4 X, Y' ?9 e% \

  e- v2 G: m; V9 o: k1 M; s  d  console 启动交互式JavaScript环境
9 e( x$ W; ]4 v; f- U# s! j! l8 ?% R, F" W+ v/ ]  B, p( W
  copydb 从文件夹创建本地链0 L3 B1 h  |$ X4 a& r; H. e

; n& o7 B! g1 r! N7 R8 \  dump Dump(分析)一个特定的块存储3 u7 J) l' m5 h7 C$ A

  N! a3 o4 l# q: b1 p  dumpconfig 显示配置值
  V" `) T, g. h1 d6 s! U7 L  G
; P8 }2 c% L0 r- b* ~  export 导出区块链到文件
6 ]1 l6 f$ Y* D2 L- V7 k5 k& I% i1 I, v8 X
  import 导入一个区块链文件
1 f1 G. o7 C" T$ b# N0 o% n% h) D& p: F. n& W( B
  init 启动并初始化一个新的创世纪块$ e* l- Y& m/ b# N

7 q" K, r8 A2 R; |  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验证缓存(用于测试)
! v" j1 c" F  b) W# o7 ^* Y8 F, O* l8 N
  makedag 生成ethash 挖矿DAG(用于测试)8 M3 t/ p2 D0 p9 g1 w

8 ~5 T7 o, r: ~1 K8 ~" n4 Y2 }  monitor 监控和可视化节点指标8 R  B, z, ^$ f3 c3 M

$ @8 T0 H) r6 }. L: S  removedb 删除区块链和状态数据库- x) ^2 Q/ [! X7 A4 G7 y) N
/ S# D9 ~. c4 ^
  version 打印版本号3 {4 M( z2 {8 X9 v% }( M$ O. h3 V

& C9 U6 f( h# g: h5 M6 z: y  wallet 管理Ethereum预售钱包. N/ c6 j  Q' }5 A
# p" V) G7 U; b5 \6 U
  help,h 显示一个命令或帮助一个命令列表2 a) }" d; d# X& c6 v

. ?' a! }8 Y. i6 M  ETHEREUM选项:
8 r0 K. P" d- i, m) G% C: x$ r* r
' x% i& t  X: m  --config value TOML 配置文件
( v$ T$ c9 \6 `6 f( F) t* _" i
. m0 g9 e7 i1 Z- l8 @  --datadir “xxx” 数据库和keystore密钥的数据目录
& d) c$ J) O! M: P3 o. @: C* 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

+ I) U) J% V) d( `( c  --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)测试网络
: l8 z1 R  F2 }% Q! ^8 }8 @! {9 t. t8 l7 ]$ ?
  --syncmode "fast" 同步模式 ("fast", "full", or "light")/ }  e" J5 l9 L' C# W3 _1 A9 i

- e: K' h; I& i  --ethstats value 上报ethstats service URL (nodename:secret@host:port)
- ?- i4 L' K$ M4 r6 W3 N1 s
' _9 y- ~/ T. \# [7 F( A" d, A9 N  --identity value 自定义节点名
( L; ^9 J; o4 w- [; B5 |/ G% s! Y2 G* e6 k
  --lightserv value 允许LES请求时间最大百分比(0 – 90)(默认值:0)6 h7 z: t. {4 g! }# i- g9 v# u

0 ?5 Z( G( Q" C: I: I  --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

0 @3 l) T  O" w  开发者(模式)选项:5 ^# a$ c) x: Z$ N; `, c* \

0 t" s. h4 Z# |6 [4 N  --dev 使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。
& a! [/ B1 q. u0 A! P6 Y$ p, w: _* r, a0 n8 t
  --dev.period value 开发者模式下挖矿周期 (0 = 仅在交易时) (默认: 0)
% m, I9 z4 {) N; w! `
) m2 Z4 W! l" }& O) D* i" T6 ]/ J  ETHASH 选项:
$ j# A' l3 G1 Y. ?! P% |  Q
; w# ?1 ]  @  W# g/ c+ T7 L  --ethash.cachedir ethash验证缓存目录(默认 = datadir目录内)# p! m6 o) P7 G/ t

" a% g8 d, o! B& Y% f  --ethash.cachesinmem value 在内存保存的最近的ethash缓存个数 (每个缓存16MB ) (默认: 2)
# r; b3 P) F; m% m8 W$ M: W9 [9 T
  --ethash.cachesondisk value 在磁盘保存的最近的ethash缓存个数 (每个缓存16MB) (默认: 3)
  V0 C3 r5 e* ]1 ]3 O
3 t% t; I# |, W; G, `, W2 M! y: n  --ethash.dagdir "" 存ethash DAGs目录 (默认 = 用户hom目录)
+ N& ~: z4 H& j& f1 x! D. k6 f& K7 j3 M' @" X
  --ethash.dagsinmem value 在内存保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 1)
$ l1 a3 E3 V  O+ w
  T& {7 }+ b8 t& h* \. e  ^  --ethash.dagsondisk value 在磁盘保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 2)
- [- x! Y) K- R6 y( ^5 G1 _2 o, `  k# o1 D8 R
  交易池选项:. u* b. s2 p1 ]3 |( u! J0 f+ A( l

; s9 P* s; A; R, _5 T. [; H% p  --txpool.nolocals 为本地提交交易禁用价格豁免
! C$ d) h; K+ o' K6 d; U) _  ?
1 q8 r8 `$ [/ s0 E3 _* c9 [  --txpool.journal value 本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp")
+ a" ^* X) F% J# K# p* N& U# O. g  X1 E! w- F7 i
  --txpool.rejournal value 重新生成本地交易日志的时间间隔 (默认: 1小时)
- z. c& ?; m# j/ M0 `
% [  ~1 n" u4 @: p  ]1 {6 Z6 E  --txpool.pricelimit value 加入交易池的最小的gas价格限制(默认: 1)
7 A. f, v% o" u
* A: ]+ O: ]8 y& Y! e! |  --txpool.pricebump value 价格波动百分比(相对之前已有交易) (默认: 10)
( R9 I7 h4 q8 }0 h. b
# w$ c$ {: C  w/ C: J  --txpool.accountslots value 每个帐户保证可执行的最少交易槽数量 (默认: 16)
4 I8 G( n, F+ o3 l  y$ m) c6 k, ]% a( E
  --txpool.globalslots value 所有帐户可执行的最大交易槽数量 (默认: 4096)& E, y" q! |! d3 ~" `, \

7 L) E% M, \9 a; p7 w7 j* R  --txpool.accountqueue value 每个帐户允许的最多非可执行交易槽数量 (默认: 64)- n) a& M0 ?8 |! I

+ a8 s4 W! [3 e- b4 T% _- C7 f* y' \- P  --txpool.globalqueue value 所有帐户非可执行交易最大槽数量 (默认: 1024)
' q5 W* i' ]( {2 \% l8 G9 `: l4 z; `$ F
  --txpool.lifetime value 非可执行交易最大入队时间(默认: 3小时)9 O; |8 F  q$ o  M
; R! n* k' H' h6 K
  性能调优的选项:
8 G& C7 n( U6 y4 x3 v4 ~
6 d5 X9 o  _8 N  ~: u( i  --cache value 分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128)- G% a1 b2 ~6 E7 o

: r" t7 H# x/ }- O  --trie-cache-gens value 保持在内存中产生的trie node数量(默认:120)( p0 M0 f! K6 b. ?$ Q

' D4 t2 a! |' y  帐户选项:# K( e3 K& Z7 P; x% C4 a+ E. M

. R% h' _; w8 W, t$ n& K: a  {  --unlock value 需解锁账户用逗号分隔
5 }/ u# D4 I& d2 P% z0 G0 n1 Y& C, h. O$ L
  --password value 用于非交互式密码输入的密码文件
/ a/ G. H# y! F: \& O- k" ?- x: u4 @, H
  API和控制台选项:
) M# W, V; h/ w6 V+ \! ]: _$ D: i. h+ p8 `
  --rpc 启用HTTP-RPC服务器
& Z0 @$ w$ P( y+ t) w/ Z8 S0 f+ f, V8 h4 o6 g' E  b+ c* o
  --rpcaddr value HTTP-RPC服务器接口地址(默认值:“localhost”)* p5 p& f. L- e

9 H8 f4 `" g; S, F% e  --rpcport value HTTP-RPC服务器监听端口(默认值:8545)4 H* n. N2 a: ~/ [+ U" \7 Q- C

! }) G: C5 Q' F0 s# E! f  --rpcapi value 基于HTTP-RPC接口提供的API
# _  B( A4 @9 O4 }
- g* z1 Z7 Z8 L+ Z  --ws 启用WS-RPC服务器2 q  X& \0 m" b, \+ y! |9 j. i

  k; V6 H4 `3 R% O' S9 n7 p  E9 Q7 f  --wsaddr value WS-RPC服务器监听接口地址(默认值:“localhost”)
8 d5 P- d4 R- K$ J' w  f7 x, E: c# c5 `
  --wsport value WS-RPC服务器监听端口(默认值:8546)6 M* `) W, q* \8 l/ L; i+ m% c

" T: J0 E9 W! v2 r' ~& |# Z  --wsapi value 基于WS-RPC的接口提供的API# I9 r3 w! Q6 @5 p

* k- q( _; o2 j$ _: A: Y  --wsorigins value websockets请求允许的源
; D. r" u- c. A$ a$ 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文件名(转义过的显式路径)
6 m0 y) S2 v. B  W8 M
* _. K" y8 L& V" A8 X) I% h  --rpccorsdomain value 允许跨域请求的域名列表(逗号分隔)(浏览器强制)
  G# E2 y# h, d
; _( T0 z" I5 f, D. c" ~) F  --jspath loadScript JavaScript加载脚本的根路径(默认值:“.”)
* T3 ~: f$ l3 D! B* R% G8 _7 Y! H, @: C5 U) `0 O5 f9 R) v2 L
  --exec value 执行JavaScript语句(只能结合console/attach使用)
+ j3 b0 f: o. Y# W! J
6 v& X, ~, p: N% c7 k  S0 Z! T0 l  --preload value 预加载到控制台的JavaScript文件列表(逗号分隔)4 J5 U3 p/ ^% a# [6 v

8 _' L' G' n$ @/ S  网络选项: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代替)
/ `0 u4 B# S; l! _* n
/ s+ T$ M( S+ ^9 c  --bootnodesv4 value 用于P2P v4发现引导的enode urls(逗号分隔) (light server, 全节点)
5 F3 Y  N1 j- k$ V5 U$ S/ ?4 V' n
' ~5 o+ X! r  {7 K% h  --bootnodesv5 value 用于P2P v5发现引导的enode urls(逗号分隔) (light server, 轻节点)
3 H7 C# }/ t$ |2 N+ I5 F( y; |7 P4 }$ }. r' u6 M
  --port value 网卡监听端口(默认值:30303)
# N! B. y% c- [, H% u/ Y
' |8 x8 W+ I% p% ]0 U  Y, R  --maxpeers value 最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:25): z# l( M6 c2 F' H6 f$ Q. @2 ~

) Y' p  s; j% F' m$ s" J0 y  --maxpendpeers value 最大尝试连接的数量(如果设置为0,则将使用默认值)(默认值:0)' ^3 P$ ?: x% v5 M* @! }
# ?# V. X$ U* ]) F
  --nat value NAT端口映射机制 (any|none|upnp|pmp|extip:[I]) (默认: “any”)
/ x$ U$ Y4 i7 H2 Y' b9 Z; T* P7 C0 E+ e' l& w, T
  --nodiscover 禁用节点发现机制(手动添加节点)
. F, H. Q. R2 {7 O3 i0 L5 ~+ f
2 l8 A# J1 Z) |  p( Q4 ]  --v5disc 启用实验性的RLPx V5(Topic发现)机制
6 S4 f7 p! G8 k& ?6 A% X0 J7 e$ `' d  d  d
  --nodekey value P2P节点密钥文件
# D9 e3 k1 [6 C, O( T
% Y2 w3 ]  ^9 E4 C2 o2 r  --nodekeyhex value 十六进制的P2P节点密钥(用于测试)
0 d4 f$ k7 V9 M& J- A. w; y: F( m* }' w9 M" O% `) O( t/ C
  矿工选项:
, t0 u2 Y$ I9 e  |# ^
* T1 b9 ^! R: r  i5 Y$ |+ F  --mine 打开挖矿4 n6 H1 E+ u1 B% Y, `

3 n: w/ U( m' ~( z) i. f  --minerthreads value 挖矿使用的CPU线程数量(默认值:8)" m0 n9 P; k- @& z7 m

8 B" D$ s: Q& b0 i8 f" f/ y3 Q  --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

7 S) v; m; z% b# l  --extradata value 矿工设置的额外块数据(默认=client version)$ b; D/ u) j  O; s( |
' v# ]6 M, C9 I+ L5 {- v
  GAS价格选项:
' R/ ~* E% L6 [+ K$ Z' C
. M( e* C/ ~3 B1 T3 N/ V  --gpoblocks value 用于检查gas价格的最近块的个数 (默认: 10); E9 n6 r* D' s

4 @# u2 W) ^- z  U! \  --gpopercentile value 建议gas价参考最近交易的gas价的百分位数,(默认: 50)0 L% Z9 K5 h) C, |3 [7 C

9 T1 V! W0 |( o# e  虚拟机的选项:' {; Q, B  b4 i

. `/ b$ g: b" V2 F: U# |7 t  --vmdebug 记录VM及合约调试信息
5 L" P5 u1 q" f' H( P/ p( L: m( \; o, l* c3 A! H1 L2 l+ N) \
  日志和调试选项:
; Z* `9 I* h" {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)
- ^+ X9 L" k  a7 {4 c7 h7 g4 t  d8 _: O: q% s! U" C
  --vmodule value 每个模块详细度:以 =的逗号分隔列表 (比如 eth/*=6,p2p=5)
! U, d" Z7 h# H0 V  `
. U2 U% s! X7 g8 Z. t  --backtrace value 请求特定日志记录堆栈跟踪 (比如 “block.go:271”): K0 L+ f! w4 k; T5 c

/ o0 s+ v0 ]% B* D  --debug 突出显示调用位置日志(文件名及行号); C1 B1 v# M* l) z  ]5 b/ E
  Z$ C' J7 `2 c8 F* l
  --pprof 启用pprof HTTP服务器
4 Q. U( Z, r' P; w/ {! d( D$ ^, K, j' _
  --pprofaddr value pprof HTTP服务器监听接口(默认值:127.0.0.1)- U; q. Y/ Q) B& T: q* p

  P) N2 N  O- {6 T- A. r. D  --pprofport value pprof HTTP服务器监听端口(默认值:6060)
4 e' [1 Y; e$ c! ~- ^3 a6 Y5 Y
3 S4 q( }4 W! k  --memprofilerate value 按指定频率打开memory profiling (默认:524288)
# `7 D1 @3 d0 B9 [$ a
8 `9 u7 ^! W8 `; o  K( O  --blockprofilerate value 按指定频率打开block profiling (默认值:0)
: h* F1 W4 R% o$ H, @; o6 r$ A8 C. x2 L- N! |0 i6 R: q9 H4 b
  --cpuprofile value 将CPU profile写入指定文件! B5 u" ?" j+ M8 W' N

1 e4 Z+ C, `' ?  --trace value 将execution trace写入指定文件
7 T" e& t, c6 Z
6 z9 N& N) M; ]. q/ j  WHISPER实验选项:
, F1 i9 Y3 c0 a) _8 b4 m5 c2 V, B4 Y4 G, ]# z0 @  v# A
  --shh 启用Whisper
8 y1 [! q' g2 l
, P* t/ W( C/ X5 `  --shh.maxmessagesize value 可接受的最大的消息大小 (默认值: 1048576)
, N5 K$ u) S1 d2 h7 h, {
& P+ {2 U7 I0 N  `( D  --shh.pow value 可接受的最小的POW (默认值: 0.2)
/ Q" [1 O! E! a( h( O1 M$ `+ x9 R; S8 A% b
  弃用选项:; s  i4 q0 @1 \1 W; l, Z

" k3 m# \* r+ c# e& b% n( U$ i  --fast 开启快速同步
* y# e* i% k' P. V2 B4 a
7 S; _: `6 Z. G7 X: u8 ^$ f  --light 启用轻客户端模式/ H# y: m: o" L- @
" w. r( j* \# P
  其他选项:/ M5 E; E) u; O3 I2 ~5 g2 b

/ t, Y5 ]. b, r) w# N: E  k  –help, -h 显示帮助
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

东阿制造 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    18