Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

东阿制造
140 0 0
  Geth在以太坊智能合约开发中最常用的工具(必备开发工具),一个多用途的命令行工具。
  v3 ]1 i0 Z; S% e1 x# C
) j$ ?1 x3 D% i: V, Y& U  熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册。 本文主要是对geth help的翻译,基于最新的geth 1.7.3-stable版本。
. x' Z! C5 b" v! g# l
. u6 J0 r5 K0 w/ E% ~3 c  命令用法
4 n  \( G; M) {0 u0 _/ J/ \- e5 e/ L
  geth [选项] 命令 [命令选项] [参数…]$ R7 T. s7 C* B
4 ]0 q& x  v' e7 H7 x) w6 F
  版本:
4 L8 ^) |! c4 V, e+ q/ H2 \- r  l& S7 l2 T4 m3 U% A
  1.7.3-stable1 ^$ s% O/ N9 N

4 u5 |2 t% c5 q/ e. R" Z  命令:
' Y1 F2 A! w' o4 I( e) y; P
7 D. T- `$ f) o5 Y: _8 x/ |  account 管理账户: W* ?* N' Y* q; o% \5 H. ^

' I' J5 W( q" u( W  attach 启动交互式JavaScript环境(连接到节点)
) `- O+ K$ v& J& J  Y: p. c
6 T# ~8 L5 g0 y5 s, B0 K% D" ]  bug 上报bug Issues- P& t. x% V5 ?- T5 K

; P' o/ `$ m# Z, ]8 O' v4 S  console 启动交互式JavaScript环境
3 Y" a  R) a& y* z. e  M' e" V0 t4 e# a" q4 C7 h. S5 d
  copydb 从文件夹创建本地链
0 w/ @$ F+ Q0 F6 f* I1 H1 I1 a0 \! h/ C% M
  dump Dump(分析)一个特定的块存储
6 n' T: I8 N; Z* R+ `4 M! d4 t1 Y, j4 D5 x- ?; x  o
  dumpconfig 显示配置值
7 f- J8 [. E& B) P7 S( w( U; ?+ f" ~6 Z' d% E7 J: B1 O( B
  export 导出区块链到文件, R/ I' m/ u( [2 W4 J
) V2 ^4 G$ n0 i) a5 d
  import 导入一个区块链文件
) d  H9 P0 m, r2 b" ^! v
; l; R# y) _! w1 k  init 启动并初始化一个新的创世纪块
  ]* o* j% B" D  m0 O# J; h  l6 o. h7 m# D
  js 执行指定的JavaScript文件(多个)- H5 C# P" ~) ?- A: g6 I$ T

4 }3 C" K# x7 {+ ?( w6 R5 H5 K2 g% e  license 显示许可信息# b1 I* F2 Y3 E& G3 M
0 b, }( }  j) a- p# Q$ {8 `
  makecache 生成ethash验证缓存(用于测试)! X2 Y! f/ ~0 j
+ X) \$ W# c. y" F9 f
  makedag 生成ethash 挖矿DAG(用于测试)
7 W& \2 |3 p$ @2 K
4 C5 X8 ~, X# Q/ _  monitor 监控和可视化节点指标
5 S# u/ Y. ^+ F0 h, t: o% ^. h4 @  H5 A3 R4 \% b- l
  removedb 删除区块链和状态数据库
% _* A7 c- e" y3 \
% ?8 b! p1 R7 I  L- I  version 打印版本号
! s2 W" Q$ u6 Z: Y# x$ m% Y8 {: t  J- j. I$ p
  wallet 管理Ethereum预售钱包
+ @' {. W0 d. ]! V
3 e, l5 h6 p2 E  r# g; |8 D  help,h 显示一个命令或帮助一个命令列表8 F) z( Y- ?( W* ^
, c! D" ~5 I6 w7 _8 n+ a
  ETHEREUM选项:
0 W) Q  B' ~# B7 M7 Y$ D9 z% @$ ]; N' m
  --config value TOML 配置文件
3 d2 p% z: r+ q$ T6 b  r' A& y. i) M0 I. G
  --datadir “xxx” 数据库和keystore密钥的数据目录: j9 l- @* ~1 r; N& r* W! V6 F
( X6 `4 `: U2 {( t/ x
  --keystore keystore存放目录(默认在datadir内)
! Z1 c1 z  [% @1 l( u$ Y' k( T
8 _( ^6 r- v5 I( W* E2 F! m1 z  --nousb 禁用监控和管理USB硬件钱包
& e4 D( ~: j5 L4 H6 i
+ B/ j& ^3 F% ]) H* _  --networkid value 网络标识符(整型, 1=Frontier, 2=Morden (弃用), 3=Ropsten, 4=Rinkeby) (默认: 1)
1 W& _! V+ s: P/ o9 A$ |  D" A
, _; n* n" I: ?  --testnet Ropsten网络:预先配置的POW(proof-of-work)测试网络6 I* A+ [7 m( z0 s

! W. X& m1 r% w2 ?$ w) k5 ^  --rinkeby Rinkeby网络: 预先配置的POA(proof-of-authority)测试网络  ?6 J1 Z: N6 @! z1 E* B4 }

# {$ j* ~* Q9 b0 g* Z5 e  --syncmode "fast" 同步模式 ("fast", "full", or "light")
# @5 h; C6 m; }8 A9 ^" J9 c7 C, T  O
* d/ Q% n" o) j! c  --ethstats value 上报ethstats service URL (nodename:secret@host:port)+ s) |7 s' i$ w6 O

5 \+ S4 G& a) ?1 @" ?" E, p# @  --identity value 自定义节点名% i9 u: }# t' R% Y' h
! w, E/ w! r! q) m) K3 `
  --lightserv value 允许LES请求时间最大百分比(0 – 90)(默认值:0)" d/ S4 g6 r# Q7 k5 I6 W( N; P
& K& M: ^- s  `3 W* P
  --lightpeers value 最大LES client peers数量(默认值:20)
* n# X% r8 f! [' I. T1 Q' M
+ v4 U7 R# w, L! [  --lightkdf 在KDF强度消费时降低key-derivation RAM&CPU使用' u! C4 @, Z2 ^0 e: @

1 O7 l% C5 x' X  开发者(模式)选项:$ @9 Z) ^# P% J  O6 m" q! m

0 i6 p$ L, d' W6 S& [  --dev 使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。
) X' q# a" n& Y* j+ R8 X7 E1 l6 [1 D# R, r" |
  --dev.period value 开发者模式下挖矿周期 (0 = 仅在交易时) (默认: 0)
% I; }/ Q4 `0 d# Q8 f, }9 N; o7 F+ ^; J. M% v( W
  ETHASH 选项:
2 S* j4 X8 }* c& E! v4 z6 Q
, S, W0 Y7 D* s  w% X  --ethash.cachedir ethash验证缓存目录(默认 = datadir目录内)
6 b$ o* P% m- Z, S% r" w/ J! e: ~. {$ l8 h, @  I+ u
  --ethash.cachesinmem value 在内存保存的最近的ethash缓存个数 (每个缓存16MB ) (默认: 2)5 p& Q# f" d3 J
/ x9 c4 d% s' _; \. V+ t
  --ethash.cachesondisk value 在磁盘保存的最近的ethash缓存个数 (每个缓存16MB) (默认: 3)
+ r; J8 [/ J+ D
1 `' P) l# J4 ^0 r6 e# v* x3 T; L  --ethash.dagdir "" 存ethash DAGs目录 (默认 = 用户hom目录)1 f  Y1 {5 q$ r8 d% o/ w) q& o
( m2 d$ B( S3 h4 }+ }1 L
  --ethash.dagsinmem value 在内存保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 1)" k6 F5 w5 u& P

* i; B9 H1 Z: c' d! x0 q  --ethash.dagsondisk value 在磁盘保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 2)
. k8 U7 j5 p9 A0 d' j: G. i  N
# t, @% T! y3 j, f  交易池选项:
6 x% ]" x# j" `1 L  o0 a8 C( h/ Z& c: x2 M
  --txpool.nolocals 为本地提交交易禁用价格豁免
$ M  a3 N" K- x" ]; ]; s/ \0 h7 f$ B. c2 N" {
  --txpool.journal value 本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp")
/ I; H$ R& P( x) M5 @8 v1 ?+ U
% ?8 U" V5 V7 I  --txpool.rejournal value 重新生成本地交易日志的时间间隔 (默认: 1小时)3 J. L( ]5 b8 u% P. X! C4 ]) D

% I% u9 m4 v5 X3 d( }  --txpool.pricelimit value 加入交易池的最小的gas价格限制(默认: 1)
4 e- ?! B1 H4 G9 a/ D) x5 Y* R! j  b& C9 r& Z
  --txpool.pricebump value 价格波动百分比(相对之前已有交易) (默认: 10)! Y+ `  e9 z3 `% F( S- ^! c

; p/ ]6 t5 ]) n. ^- o' a! h! j0 o  --txpool.accountslots value 每个帐户保证可执行的最少交易槽数量 (默认: 16)4 [! V! |1 k9 h9 d
8 i+ N# u0 L/ x  ^
  --txpool.globalslots value 所有帐户可执行的最大交易槽数量 (默认: 4096)
0 g8 F, b6 Z2 ^7 u% B; u! Z6 O% R
  --txpool.accountqueue value 每个帐户允许的最多非可执行交易槽数量 (默认: 64)
* z$ c. w4 i* F3 f
2 C( A& L) R4 d% }  --txpool.globalqueue value 所有帐户非可执行交易最大槽数量 (默认: 1024)8 K- b+ @$ a, V# M0 |3 ~$ d+ k
2 O  q) r$ Y; Y. W' \' @: G
  --txpool.lifetime value 非可执行交易最大入队时间(默认: 3小时)
1 c$ B, w- C  v" O) |4 l* r+ h7 [0 `' f! g* f: S6 A
  性能调优的选项:% V( s- O+ q0 c- X) Q& _

+ M8 B7 J; A' ?. _+ z+ s1 }/ k  --cache value 分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128)
* [1 `8 k3 ~1 M& H8 B5 g! g1 `. x. }" n6 ^1 H/ z5 ]- t2 p
  --trie-cache-gens value 保持在内存中产生的trie node数量(默认:120)
$ c! u' r# _/ Q3 ^% j! g" P
; k4 u+ A$ L/ r7 E* }. v" S  帐户选项:3 N2 `# W# P: a+ y8 h6 P
/ S5 T8 ~/ |3 y2 m; v# g
  --unlock value 需解锁账户用逗号分隔7 u4 k2 v; s  m9 ~9 e! e
6 r+ `- o/ L: p
  --password value 用于非交互式密码输入的密码文件  ]. G# o5 S, v/ C* B/ |$ g
' z& i. ^; X% J. x+ b
  API和控制台选项:1 q1 c8 s4 }! P5 N: N8 g
2 }6 f( z! l2 P! t9 b' P* l
  --rpc 启用HTTP-RPC服务器# k3 S; z" s( y$ p' S" u1 k

) K4 h' y8 l( q/ [( j% e$ d% ~  --rpcaddr value HTTP-RPC服务器接口地址(默认值:“localhost”)
( B# G/ W8 Q/ Q; g) E1 x" }% _  y% ^8 J! e  k  D
  --rpcport value HTTP-RPC服务器监听端口(默认值:8545)
+ K4 z; l$ ~% X1 l6 R! b- h/ s1 w, _& F3 F
  --rpcapi value 基于HTTP-RPC接口提供的API
' T; W  |$ S& C) ?5 Y6 x8 J9 E4 H. t5 ]$ V' b
  --ws 启用WS-RPC服务器, Q, o$ |. w5 C. E/ {

! d1 {- @8 ?; ~" F+ I( j3 j  --wsaddr value WS-RPC服务器监听接口地址(默认值:“localhost”)
" N" V& }0 i7 b$ O4 D8 T$ ]2 U; w% d$ q  K# m% n2 |. j: @, r* p0 n/ s9 z
  --wsport value WS-RPC服务器监听端口(默认值:8546)
$ [* B6 s- g5 V+ U& X% |
) w) G% j# c6 I  --wsapi value 基于WS-RPC的接口提供的API
  s& T% B7 v6 r5 y5 ~) a" Q5 g/ p5 u/ [5 s
  --wsorigins value websockets请求允许的源! O  x& Q- ~9 K; `" p- s+ P+ u9 @

3 f8 R" r7 [: k7 V& z  --ipcdisable 禁用IPC-RPC服务器8 u! l4 o- U8 Y5 f+ f+ d/ R

; ^) L+ u& V- g3 G4 h  A  --ipcpath 包含在datadir里的IPC socket/pipe文件名(转义过的显式路径)
: X3 {, x) A& B8 b1 [( @0 a; v9 v. a+ z; h
  --rpccorsdomain value 允许跨域请求的域名列表(逗号分隔)(浏览器强制). p$ H( o) I6 f+ h* ^/ j. R
& V1 u" s* O( {7 I" w( L  T: {
  --jspath loadScript JavaScript加载脚本的根路径(默认值:“.”); H' O/ g, C: D
* Y" q: o, O& D/ |2 I! v
  --exec value 执行JavaScript语句(只能结合console/attach使用)' z  x7 f; Q/ u" t4 Z* m9 u

* R% _1 U# A* j( S+ N- P  --preload value 预加载到控制台的JavaScript文件列表(逗号分隔), P% _' i$ H, \; N

. C5 h( G: v% S$ Q3 I7 @' n  网络选项:
1 T" p% J" N8 d  @4 Y; C0 _3 z9 h  y- D+ x+ k+ `- y3 [
  --bootnodes value 用于P2P发现引导的enode urls(逗号分隔)(对于light servers用v4+v5代替)
) B' f: ?! |, g0 \/ z
7 \3 `1 e3 a( v0 A+ j! I6 X  --bootnodesv4 value 用于P2P v4发现引导的enode urls(逗号分隔) (light server, 全节点)' z- }& s. r1 B7 f3 j- b: o

  R6 [5 h0 m% D- ?0 \2 H  --bootnodesv5 value 用于P2P v5发现引导的enode urls(逗号分隔) (light server, 轻节点)( A: ^+ {$ I8 \' h" h( J$ |
7 p- v  L$ P( K7 `# g$ e' a+ s
  --port value 网卡监听端口(默认值:30303)7 l7 j# Y/ i. U: l
: M6 F( J$ |/ z' r0 G; M
  --maxpeers value 最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:25)
9 B' j/ }) Y8 q0 i4 L$ w' x- `$ M& d: ^+ E) N8 I% s: i8 {& G0 J
  --maxpendpeers value 最大尝试连接的数量(如果设置为0,则将使用默认值)(默认值:0)8 V9 t2 _" f& X3 s  t9 ?
, P& g8 n' P% h1 m
  --nat value NAT端口映射机制 (any|none|upnp|pmp|extip:[I]) (默认: “any”)6 Q; \4 v- S) o$ ^& p
4 q. e. G: V  l) U2 _
  --nodiscover 禁用节点发现机制(手动添加节点)
8 i0 }+ _0 B7 `+ a6 |: A' Q4 E8 G$ l- @. a
  --v5disc 启用实验性的RLPx V5(Topic发现)机制
: L3 N' S; a* J& g4 S
& v) ?0 }+ K4 W7 r2 I' H# d  --nodekey value P2P节点密钥文件
" E/ j7 m+ I* d- U, b9 X% \% ^8 \
- r$ Z& c( }3 W9 d7 R; x  --nodekeyhex value 十六进制的P2P节点密钥(用于测试)% i( L3 P0 u6 E' k: r
5 s5 s3 E3 ~7 v- S' Z( o
  矿工选项:2 B6 i8 }. u+ V+ a
5 v" \, r! w7 d$ ^) l0 E
  --mine 打开挖矿
% j0 v# ~4 m* P  ~9 [8 T3 j
% D$ a# Z) m( d  --minerthreads value 挖矿使用的CPU线程数量(默认值:8)" X# F# W8 T* C- T6 B

' _7 L* \% q" B2 ]" K  --etherbase value 挖矿奖励地址(默认=第一个创建的帐户)(默认值:“0”)
9 h7 f2 {7 B1 ]8 q  i5 }  R+ p+ L' V& x" ]9 u$ K' P; ^
  --targetgaslimit value 目标gas限制:设置最低gas限制(低于这个不会被挖?) (默认值:“4712388”)% J* a$ h' s9 X3 d/ W6 A, Z, b

9 z1 j/ o# {. b  --gasprice value 挖矿接受交易的最低gas价格
/ _2 V# p+ M1 i8 v$ l, N7 [9 q& ^2 P; H( d, v( Z" R
  --extradata value 矿工设置的额外块数据(默认=client version). z; P& [1 ?1 k2 g
# y' I; ~% k" i5 i: O0 z; B4 m, z
  GAS价格选项:
4 V' D( |: z. L9 V8 z% p
8 ^* U) v: u0 d  --gpoblocks value 用于检查gas价格的最近块的个数 (默认: 10)
6 V" }$ g8 R. d8 ~  U2 C8 K/ ]9 x# {7 h' N$ `
  --gpopercentile value 建议gas价参考最近交易的gas价的百分位数,(默认: 50)
7 T0 e# u" l' U1 l# W% Z
1 M( r6 q2 B+ ]# U  K  虚拟机的选项:
5 m( `; n: }& B6 D# J5 s" V1 U  q8 w4 v1 B
  --vmdebug 记录VM及合约调试信息$ @% {/ x1 a- ?: r
4 d/ D& w- b$ b7 @- [% Q
  日志和调试选项:
$ ^# a" q& v  P/ I
9 ]+ V8 Y( Z% J  --metrics 启用metrics收集和报告, }/ p. g; U6 c- `, g6 v
* H& l& N5 H: d: ]
  --fakepow 禁用proof-of-work验证
5 }# @) |- f8 q7 d/ [& ?, ~2 ~- T4 |+ l' K' i
  --verbosity value 日志详细度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3)) V% v2 G3 v8 K7 }; [/ X1 P9 p# F

6 P) z! N& y. G& g6 I1 o  --vmodule value 每个模块详细度:以 =的逗号分隔列表 (比如 eth/*=6,p2p=5)1 m: n+ Z; o; d" ]

) O% b0 `0 n% Y) C" C  --backtrace value 请求特定日志记录堆栈跟踪 (比如 “block.go:271”)6 w, ~% V8 T; z$ A4 N

3 l5 k6 j0 t6 z0 t. T9 g  --debug 突出显示调用位置日志(文件名及行号)* y. G1 |8 b. |" l1 P) [# V
7 h5 j- r" q# J4 U4 @
  --pprof 启用pprof HTTP服务器
: Y1 V4 S/ {" V' f$ H$ J1 c6 `. j; W  r' |% k6 U. I! _
  --pprofaddr value pprof HTTP服务器监听接口(默认值:127.0.0.1)9 ~6 m( j% H; H6 @
8 {( s- o( `+ B% g, Z9 J& F9 s( K
  --pprofport value pprof HTTP服务器监听端口(默认值:6060)
0 x# p  F0 c  u4 \  H" z* B: Q+ I1 X. f7 i' }3 f
  --memprofilerate value 按指定频率打开memory profiling (默认:524288)
8 i$ I2 o% f0 ~; O6 O2 E" F2 O! w% a; n5 M$ i* t3 H
  --blockprofilerate value 按指定频率打开block profiling (默认值:0)
9 \9 `( N$ U" _6 B# S, V( D, b1 M" x5 s$ v6 A( {
  --cpuprofile value 将CPU profile写入指定文件
4 S' S: M4 ~* f  e' ~
5 f" l/ C$ X: Q) ]% z4 D* \7 \& U  --trace value 将execution trace写入指定文件$ @5 a1 X/ |2 Z6 {% [9 g

7 a/ E" L2 h4 f9 E9 l  WHISPER实验选项:: w, p8 ]1 _/ G( F- L' C2 m, K4 t

9 ~) l5 [4 ^0 [8 B9 w1 U  --shh 启用Whisper
9 C0 i# C% S, @- I/ A9 C: @
1 @- Z6 `; f% D  --shh.maxmessagesize value 可接受的最大的消息大小 (默认值: 1048576)1 V( W- H$ z$ h+ Z0 \, L) Y7 v% I: e+ [

* ^9 H0 i4 Z! x$ I; K5 j% T- n  U4 Y  --shh.pow value 可接受的最小的POW (默认值: 0.2)+ h6 H6 R6 N! k9 g8 b, Z* }7 _
0 k% t0 G5 u2 X) m/ E
  弃用选项:$ Q( R, J0 {, D" R4 R! m3 ~
& W" ^1 ]3 J" [- \. V
  --fast 开启快速同步2 s/ I+ E: t9 g  i& E! o3 E
# g% [: n# M) o( U3 s7 X
  --light 启用轻客户端模式
. O! l( l1 I$ A
5 h9 \4 b- Z; h6 b" q/ U  其他选项:
. e# O- }/ Z; p: O5 l* C3 a7 ?
8 z' I" Z; |  f; }* o0 Q8 ]  –help, -h 显示帮助
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

东阿制造 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    18