以太坊客户端Geth命令用法-参数详解
东阿制造
发表于 2022-11-4 23:30:22
140
0
0
熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册。 本文主要是对geth help的翻译,基于最新的geth 1.7.3-stable版本。
命令用法
/ J/ \- e5 e/ L
geth [选项] 命令 [命令选项] [参数…]$ R7 T. s7 C* B
4 ]0 q& x v' e7 H7 x) w6 F
版本:
- r l& S7 l2 T4 m3 U% A
1.7.3-stable1 ^$ s% O/ N9 N
命令:
account 管理账户: W* ?* N' Y* q; o% \5 H. ^
attach 启动交互式JavaScript环境(连接到节点)
bug 上报bug Issues- P& t. x% V5 ?- T5 K
console 启动交互式JavaScript环境
. e M' e" V0 t4 e# a" q4 C7 h. S5 d
copydb 从文件夹创建本地链
* I1 H1 I1 a0 \! h/ C% M
dump Dump(分析)一个特定的块存储
4 M! d4 t1 Y, j4 D5 x- ?; x o
dumpconfig 显示配置值
7 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 导入一个区块链文件
init 启动并初始化一个新的创世纪块
# J; h l6 o. h7 m# D
js 执行指定的JavaScript文件(多个)- H5 C# P" ~) ?- A: g6 I$ T
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(用于测试)
monitor 监控和可视化节点指标
. h4 @ H5 A3 R4 \% b- l
removedb 删除区块链和状态数据库
version 打印版本号
% Y8 {: t J- j. I$ p
wallet 管理Ethereum预售钱包
help,h 显示一个命令或帮助一个命令列表8 F) z( Y- ?( W* ^
, c! D" ~5 I6 w7 _8 n+ a
ETHEREUM选项:
7 M7 Y$ D9 z% @$ ]; N' m
--config value TOML 配置文件
$ 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内)
--nousb 禁用监控和管理USB硬件钱包
--networkid value 网络标识符(整型, 1=Frontier, 2=Morden (弃用), 3=Ropsten, 4=Rinkeby) (默认: 1)
--testnet Ropsten网络:预先配置的POW(proof-of-work)测试网络6 I* A+ [7 m( z0 s
--rinkeby Rinkeby网络: 预先配置的POA(proof-of-authority)测试网络 ?6 J1 Z: N6 @! z1 E* B4 }
--syncmode "fast" 同步模式 ("fast", "full", or "light")
--ethstats value 上报ethstats service URL (nodename:secret@host:port)+ s) |7 s' i$ w6 O
--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)
--lightkdf 在KDF强度消费时降低key-derivation RAM&CPU使用' u! C4 @, Z2 ^0 e: @
开发者(模式)选项:$ @9 Z) ^# P% J O6 m" q! m
--dev 使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。
7 E1 l6 [1 D# R, r" |
--dev.period value 开发者模式下挖矿周期 (0 = 仅在交易时) (默认: 0)
; o7 F+ ^; J. M% v( W
ETHASH 选项:
--ethash.cachedir ethash验证缓存目录(默认 = datadir目录内)
/ 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)
--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
--ethash.dagsondisk value 在磁盘保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 2)
交易池选项:
o0 a8 C( h/ Z& c: x2 M
--txpool.nolocals 为本地提交交易禁用价格豁免
" ]; ]; s/ \0 h7 f$ B. c2 N" {
--txpool.journal value 本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp")
--txpool.rejournal value 重新生成本地交易日志的时间间隔 (默认: 1小时)3 J. L( ]5 b8 u% P. X! C4 ]) D
--txpool.pricelimit value 加入交易池的最小的gas价格限制(默认: 1)
5 Y* R! j b& C9 r& Z
--txpool.pricebump value 价格波动百分比(相对之前已有交易) (默认: 10)! Y+ ` e9 z3 `% F( S- ^! c
--txpool.accountslots value 每个帐户保证可执行的最少交易槽数量 (默认: 16)4 [! V! |1 k9 h9 d
8 i+ N# u0 L/ x ^
--txpool.globalslots value 所有帐户可执行的最大交易槽数量 (默认: 4096)
7 u% B; u! Z6 O% R
--txpool.accountqueue value 每个帐户允许的最多非可执行交易槽数量 (默认: 64)
--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小时)
7 [0 `' f! g* f: S6 A
性能调优的选项:% V( s- O+ q0 c- X) Q& _
--cache value 分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128)
! g1 `. x. }" n6 ^1 H/ z5 ]- t2 p
--trie-cache-gens value 保持在内存中产生的trie node数量(默认:120)
帐户选项: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
--rpcaddr value HTTP-RPC服务器接口地址(默认值:“localhost”)
y% ^8 J! e k D
--rpcport value HTTP-RPC服务器监听端口(默认值:8545)
1 l6 R! b- h/ s1 w, _& F3 F
--rpcapi value 基于HTTP-RPC接口提供的API
5 Y6 x8 J9 E4 H. t5 ]$ V' b
--ws 启用WS-RPC服务器, Q, o$ |. w5 C. E/ {
--wsaddr value WS-RPC服务器监听接口地址(默认值:“localhost”)
$ q K# m% n2 |. j: @, r* p0 n/ s9 z
--wsport value WS-RPC服务器监听端口(默认值:8546)
--wsapi value 基于WS-RPC的接口提供的API
) a" Q5 g/ p5 u/ [5 s
--wsorigins value websockets请求允许的源! O x& Q- ~9 K; `" p- s+ P+ u9 @
--ipcdisable 禁用IPC-RPC服务器8 u! l4 o- U8 Y5 f+ f+ d/ R
--ipcpath 包含在datadir里的IPC socket/pipe文件名(转义过的显式路径)
1 [( @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
--preload value 预加载到控制台的JavaScript文件列表(逗号分隔), P% _' i$ H, \; N
网络选项:
; C0 _3 z9 h y- D+ x+ k+ `- y3 [
--bootnodes value 用于P2P发现引导的enode urls(逗号分隔)(对于light servers用v4+v5代替)
--bootnodesv4 value 用于P2P v4发现引导的enode urls(逗号分隔) (light server, 全节点)' z- }& s. r1 B7 f3 j- b: o
--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)
: ^+ 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 禁用节点发现机制(手动添加节点)
6 |: A' Q4 E8 G$ l- @. a
--v5disc 启用实验性的RLPx V5(Topic发现)机制
--nodekey value P2P节点密钥文件
--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 打开挖矿
--minerthreads value 挖矿使用的CPU线程数量(默认值:8)" X# F# W8 T* C- T6 B
--etherbase value 挖矿奖励地址(默认=第一个创建的帐户)(默认值:“0”)
R+ p+ L' V& x" ]9 u$ K' P; ^
--targetgaslimit value 目标gas限制:设置最低gas限制(低于这个不会被挖?) (默认值:“4712388”)% J* a$ h' s9 X3 d/ W6 A, Z, b
--gasprice value 挖矿接受交易的最低gas价格
7 [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价格选项:
--gpoblocks value 用于检查gas价格的最近块的个数 (默认: 10)
/ ]9 x# {7 h' N$ `
--gpopercentile value 建议gas价参考最近交易的gas价的百分位数,(默认: 50)
虚拟机的选项:
" V1 U q8 w4 v1 B
--vmdebug 记录VM及合约调试信息$ @% {/ x1 a- ?: r
4 d/ D& w- b$ b7 @- [% Q
日志和调试选项:
--metrics 启用metrics收集和报告, }/ p. g; U6 c- `, g6 v
* H& l& N5 H: d: ]
--fakepow 禁用proof-of-work验证
& ?, ~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
--vmodule value 每个模块详细度:以 =的逗号分隔列表 (比如 eth/*=6,p2p=5)1 m: n+ Z; o; d" ]
--backtrace value 请求特定日志记录堆栈跟踪 (比如 “block.go:271”)6 w, ~% V8 T; z$ A4 N
--debug 突出显示调用位置日志(文件名及行号)* y. G1 |8 b. |" l1 P) [# V
7 h5 j- r" q# J4 U4 @
--pprof 启用pprof HTTP服务器
$ 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)
" z* B: Q+ I1 X. f7 i' }3 f
--memprofilerate value 按指定频率打开memory profiling (默认:524288)
2 O! w% a; n5 M$ i* t3 H
--blockprofilerate value 按指定频率打开block profiling (默认值:0)
, V( D, b1 M" x5 s$ v6 A( {
--cpuprofile value 将CPU profile写入指定文件
--trace value 将execution trace写入指定文件$ @5 a1 X/ |2 Z6 {% [9 g
WHISPER实验选项:: w, p8 ]1 _/ G( F- L' C2 m, K4 t
--shh 启用Whisper
--shh.maxmessagesize value 可接受的最大的消息大小 (默认值: 1048576)1 V( W- H$ z$ h+ Z0 \, L) Y7 v% I: e+ [
--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 启用轻客户端模式
其他选项:
–help, -h 显示帮助
成为第一个吐槽的人