以太坊客户端Geth命令用法-参数详解
东阿制造
发表于 2022-11-4 23:30:22
129
0
0
1 K) g; s; i& q, P2 U
熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册。 本文主要是对geth help的翻译,基于最新的geth 1.7.3-stable版本。
P8 E2 o1 x8 {
命令用法
- W2 A4 q" v4 ~# v
geth [选项] 命令 [命令选项] [参数…]# A$ D+ J% w* ^* Z' f, f
版本:
) p4 a+ J* P2 C5 ]% m1 v
1.7.3-stable& p; k( [" B @! E# S5 a) l# p) X3 r1 J( ]
命令:7 P( c. I" |* J
' P$ w2 d6 \) p( t3 y- }% N2 Y7 H; V3 I
account 管理账户7 [ i3 B2 w ]/ C! @
attach 启动交互式JavaScript环境(连接到节点)
bug 上报bug Issues- C+ w5 z2 h5 w) ?- V( ?
9 X' o& H5 ]3 A5 O$ j+ K4 K c
console 启动交互式JavaScript环境( ], Z& H. V# p- O8 k |
copydb 从文件夹创建本地链3 s" l ^- k# [/ F1 i
dump Dump(分析)一个特定的块存储
2 N) c. R0 e3 E- n1 D; D
dumpconfig 显示配置值
export 导出区块链到文件7 f9 `) J% u, R# W+ t
' ` R+ i1 [. v+ y7 H
import 导入一个区块链文件
init 启动并初始化一个新的创世纪块
js 执行指定的JavaScript文件(多个)
7 a% V; G* A* D/ O7 v
license 显示许可信息0 q5 q1 S/ A- m2 @' S' e
makecache 生成ethash验证缓存(用于测试)
makedag 生成ethash 挖矿DAG(用于测试)
7 V0 }9 V5 j# U# _7 ^' V5 t
monitor 监控和可视化节点指标
0 Z$ b8 G( M% h' {# x/ a0 y
removedb 删除区块链和状态数据库
version 打印版本号0 [- Z9 A# X1 f" w# K6 c- b
) |9 c' {/ Q" O$ X+ X
wallet 管理Ethereum预售钱包
help,h 显示一个命令或帮助一个命令列表7 `2 f, R6 e ]# h. O3 ?
ETHEREUM选项:" M/ q) S! @$ R2 }& |" b% [6 P
, ?* T& ?5 C1 n% f/ _5 x6 I
--config value TOML 配置文件
7 O W; c; h ]8 q" m' \' S+ E! t, x
--datadir “xxx” 数据库和keystore密钥的数据目录
--keystore keystore存放目录(默认在datadir内)
2 x1 k3 m$ c; s2 N9 U6 X
--nousb 禁用监控和管理USB硬件钱包
--networkid value 网络标识符(整型, 1=Frontier, 2=Morden (弃用), 3=Ropsten, 4=Rinkeby) (默认: 1)
--testnet Ropsten网络:预先配置的POW(proof-of-work)测试网络& L( c: Y7 T6 a1 i
! P# ?$ ~7 S1 r
--rinkeby Rinkeby网络: 预先配置的POA(proof-of-authority)测试网络- D: m# g. y% ~' m( b3 Z f
--syncmode "fast" 同步模式 ("fast", "full", or "light")9 m- |0 ]( |. Y
--ethstats value 上报ethstats service URL (nodename:secret@host:port)
+ ?0 t( [8 {9 ^% s8 u
--identity value 自定义节点名$ |& y' v* H$ m1 a0 c! N z0 h, @
--lightserv value 允许LES请求时间最大百分比(0 – 90)(默认值:0)
--lightpeers value 最大LES client peers数量(默认值:20)
--lightkdf 在KDF强度消费时降低key-derivation RAM&CPU使用9 p0 \' u* k4 c$ I( Q
开发者(模式)选项:- A- N( V6 G0 J) L5 T' W
--dev 使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。
--dev.period value 开发者模式下挖矿周期 (0 = 仅在交易时) (默认: 0)7 o# s- m+ n. G( F
ETHASH 选项:: t( g; l0 W {8 d% l4 h# a) m
6 ` L- y5 }' t1 C t2 T! e
--ethash.cachedir ethash验证缓存目录(默认 = datadir目录内)0 I; [+ T$ h7 w1 ?
' b4 x. W" I c6 H: D
--ethash.cachesinmem value 在内存保存的最近的ethash缓存个数 (每个缓存16MB ) (默认: 2) W1 Z9 a5 r$ X9 d( o" S
--ethash.cachesondisk value 在磁盘保存的最近的ethash缓存个数 (每个缓存16MB) (默认: 3)
--ethash.dagdir "" 存ethash DAGs目录 (默认 = 用户hom目录)! V1 p( L, o$ n8 T2 X; I+ B6 U' _
--ethash.dagsinmem value 在内存保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 1)
--ethash.dagsondisk value 在磁盘保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 2)
0 [5 c3 S* r+ b- O; w% N! P4 V- C
交易池选项:4 N2 T1 m: |; n- k5 @9 @, G
% T( X% Y6 d/ u9 [
--txpool.nolocals 为本地提交交易禁用价格豁免
/ }7 N: _5 l, H
--txpool.journal value 本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp")
--txpool.rejournal value 重新生成本地交易日志的时间间隔 (默认: 1小时)' e' w3 R" A' M6 \( S4 H
--txpool.pricelimit value 加入交易池的最小的gas价格限制(默认: 1)2 `4 Y( a; R9 ?; p; `8 H
! W' \7 A6 Y4 i# p
--txpool.pricebump value 价格波动百分比(相对之前已有交易) (默认: 10)& w$ S4 T2 R$ E" Q* W* o, F, u
--txpool.accountslots value 每个帐户保证可执行的最少交易槽数量 (默认: 16)# X# m5 q4 \( M! c0 ]7 |
--txpool.globalslots value 所有帐户可执行的最大交易槽数量 (默认: 4096)0 f6 h, F8 f! w$ u- d$ h% q
--txpool.accountqueue value 每个帐户允许的最多非可执行交易槽数量 (默认: 64)
& |4 }! A7 b+ l2 z; T: Q% c3 X% J1 a3 G
--txpool.globalqueue value 所有帐户非可执行交易最大槽数量 (默认: 1024), o1 _! ?9 |" S4 i' F& u
--txpool.lifetime value 非可执行交易最大入队时间(默认: 3小时)9 T$ r1 ^- n$ u+ g
性能调优的选项:. t J# {! u2 U; z, q" p3 ~
, W2 A( o8 s4 z$ `* G/ _
--cache value 分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128)
f" z0 K( o X0 G+ R
--trie-cache-gens value 保持在内存中产生的trie node数量(默认:120)
# q' V) `, P$ p9 d: @& k6 j
帐户选项:
--unlock value 需解锁账户用逗号分隔+ @' R p8 P" ?
7 h' j& Y8 B+ t/ D. B4 o
--password value 用于非交互式密码输入的密码文件2 k5 U' F; n8 K" @
API和控制台选项:
--rpc 启用HTTP-RPC服务器
--rpcaddr value HTTP-RPC服务器接口地址(默认值:“localhost”)- \5 u; X0 @9 `0 g7 A
' f: g0 j5 U3 k5 y
--rpcport value HTTP-RPC服务器监听端口(默认值:8545)
--rpcapi value 基于HTTP-RPC接口提供的API
4 Y+ l. Q Z) |1 n% _; p
--ws 启用WS-RPC服务器* c9 @6 c6 |% u5 t" x
' A, p% K: T' F+ o& B" `, Z
--wsaddr value WS-RPC服务器监听接口地址(默认值:“localhost”)* _! O. w/ Z9 L0 p$ C3 ~
--wsport value WS-RPC服务器监听端口(默认值:8546)/ p! W: u8 i8 {1 k# P
--wsapi value 基于WS-RPC的接口提供的API
--wsorigins value websockets请求允许的源0 V# z, g$ [. H/ T2 `
--ipcdisable 禁用IPC-RPC服务器" k: m7 W' D9 k3 x& A* o
1 Y8 }$ i3 t5 G" V! O
--ipcpath 包含在datadir里的IPC socket/pipe文件名(转义过的显式路径)* w/ E0 x* |( W+ O( ?
+ {4 J: ^% B7 |
--rpccorsdomain value 允许跨域请求的域名列表(逗号分隔)(浏览器强制)0 u6 ]8 I2 c$ r- o
--jspath loadScript JavaScript加载脚本的根路径(默认值:“.”)" u1 T/ ?8 d$ D7 ^
--exec value 执行JavaScript语句(只能结合console/attach使用): t# e" _, `) J- o1 o8 r
--preload value 预加载到控制台的JavaScript文件列表(逗号分隔)9 H% p6 O/ f% X
/ @, |/ o3 w) h
网络选项:
# g M- M: Z8 g/ |3 u% e
--bootnodes value 用于P2P发现引导的enode urls(逗号分隔)(对于light servers用v4+v5代替)
--bootnodesv4 value 用于P2P v4发现引导的enode urls(逗号分隔) (light server, 全节点); F9 R: ?+ C' S* d# e8 d4 x/ L; P( A
--bootnodesv5 value 用于P2P v5发现引导的enode urls(逗号分隔) (light server, 轻节点)7 \9 ~7 k( x* k7 t2 K
--port value 网卡监听端口(默认值:30303)
! U# `5 R% Y( |
--maxpeers value 最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:25)
--maxpendpeers value 最大尝试连接的数量(如果设置为0,则将使用默认值)(默认值:0)
5 n* m: X/ l" x# M, V
--nat value NAT端口映射机制 (any|none|upnp|pmp|extip:[I]) (默认: “any”)
; a: f6 |: L0 X
--nodiscover 禁用节点发现机制(手动添加节点)# l! ?- B3 n7 l$ E- j
--v5disc 启用实验性的RLPx V5(Topic发现)机制
--nodekey value P2P节点密钥文件
--nodekeyhex value 十六进制的P2P节点密钥(用于测试)( p6 @5 j2 I1 r0 j9 c: m
矿工选项: b3 {% [3 K5 ~! ^% i. p+ U3 U
. T' o. C( d: r/ H& S
--mine 打开挖矿
" B6 r$ A$ C8 a- x
--minerthreads value 挖矿使用的CPU线程数量(默认值:8)* H! P7 |6 d; Z6 S
+ v- M% F& O9 J7 D2 @4 o
--etherbase value 挖矿奖励地址(默认=第一个创建的帐户)(默认值:“0”)( F& |. [: ~1 ]9 R4 m& }1 R, ]
--targetgaslimit value 目标gas限制:设置最低gas限制(低于这个不会被挖?) (默认值:“4712388”)
9 Z, q4 n9 b" b" R
--gasprice value 挖矿接受交易的最低gas价格3 Z, c3 G3 h' [ W5 E
--extradata value 矿工设置的额外块数据(默认=client version)% K; r9 X% K4 P' w8 ^( x
GAS价格选项:
# n' S+ K; d8 l2 K
--gpoblocks value 用于检查gas价格的最近块的个数 (默认: 10)5 i v7 n/ F: l8 T$ Q" X3 _
--gpopercentile value 建议gas价参考最近交易的gas价的百分位数,(默认: 50)
虚拟机的选项:/ n2 T+ d% d* X" q4 G2 I
--vmdebug 记录VM及合约调试信息
日志和调试选项:
--metrics 启用metrics收集和报告- e$ @# W( o4 ~( D9 A
--fakepow 禁用proof-of-work验证
0 [* C: _; f$ Z/ U9 {0 p- n" T/ p
--verbosity value 日志详细度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3)
6 l1 V/ p g( m1 Z: U" Z
--vmodule value 每个模块详细度:以 =的逗号分隔列表 (比如 eth/*=6,p2p=5)9 x; Y# f# v: I7 ]
--backtrace value 请求特定日志记录堆栈跟踪 (比如 “block.go:271”)
--debug 突出显示调用位置日志(文件名及行号) f& F, Z: @1 t% S" A3 V
1 o. t$ P$ J. R$ P( d3 |0 s9 L& {
--pprof 启用pprof HTTP服务器. G$ U0 w' f( V$ P
6 Y. v3 ?4 ^ L- X- V; h* Z
--pprofaddr value pprof HTTP服务器监听接口(默认值:127.0.0.1)/ n: X! e9 j8 z$ F! ?, l1 P
: p3 a5 V1 j6 @* {! o! D) W
--pprofport value pprof HTTP服务器监听端口(默认值:6060)
--memprofilerate value 按指定频率打开memory profiling (默认:524288)
--blockprofilerate value 按指定频率打开block profiling (默认值:0)* n t. N" z9 X w) }: _
, `( l: H2 C' q6 T: O6 b
--cpuprofile value 将CPU profile写入指定文件" n/ M0 c- l0 d1 j8 V# @& V3 x
--trace value 将execution trace写入指定文件. A) s3 P0 G2 ]' J o$ T
WHISPER实验选项:
3 L) U; b! M& @, D
--shh 启用Whisper% F% B' K0 S6 ~, M }0 z
* `0 o1 W) \8 l* y% Q
--shh.maxmessagesize value 可接受的最大的消息大小 (默认值: 1048576)+ U# H) D- r$ I& V$ e3 |; X
--shh.pow value 可接受的最小的POW (默认值: 0.2)% r% O! u; z* w- A; [6 u, {6 V
`* w% w' k8 L8 i
弃用选项:
--fast 开启快速同步
--light 启用轻客户端模式
; D+ P. c2 s4 W5 ]& z2 ?
其他选项:) G: {* W. W; `
+ H5 ?$ N" H% u( B/ Q; T0 S
–help, -h 显示帮助
成为第一个吐槽的人