欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-17 19:16:53
...

Geth是在以太坊智能合约开发中最常用的工具(必备开发工具),一个多用途的命令行工具。 
熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册。 本文主要是对geth help的翻译,基于最新的geth 1.7.3-stable版本。

如果你还不知道geth是干什么的,请先阅读入门篇:什么是以太坊?什么是智能合约? 
以下开始正文。

命令用法

geth [选项] 命令 [命令选项] [参数…]

版本:

1.7.3-stable

命令:

account 管理账户 
attach 启动交互式Javascrip{过滤}t环境(连接到节点) 
bug 上报bug Issues 
console 启动交互式Javascrip{过滤}t环境 
copydb 从文件夹创建本地链 
dump Dump(分析)一个特定的块存储 
dumpconfig 显示配置值 
export 导出区块链到文件 
import 导入一个区块链文件 
init 启动并初始化一个新的创世纪块 
js 执行指定的Javascrip{过滤}t文件(多个) 
license 显示许可信息 
makecache 生成ethash验证缓存(用于测试) 
makedag 生成ethash 挖矿DAG(用于测试) 
monitor 监控和可视化节点指标 
removedb 删除区块链和状态数据库 
version 打印版本号 
wallet 管理Ethereum预售钱包 
help,h 显示一个命令或帮助一个命令列表

ETHEREUM选项:

–config value TOML 配置文件 
–datadir “xxx” 数据库和keystore密钥的数据目录 
–keystore keystore存放目录(默认在datadir内) 
–nousb 禁用监控和管理USB硬件钱包 
–networkid value 网络标识符(整型, 1=Frontier, 2=Morden (弃用), 3=Ropsten, 4=Rinkeby) (默认: 1) 
–testnet Ropsten网络:预先配置的POW(proof-of-work)测试网络 
–rinkeby Rinkeby网络: 预先配置的POA(proof-of-authority)测试网络 
–syncmode “fast” 同步模式 (“fast”, “full”, or “light”) 
–ethstats value 上报ethstats service URL (nodename:secret@host:port) 
–identity value 自定义节点名 
–lightserv value 允许LES请求时间最大百分比(0 – 90)(默认值:0) 
–lightpeers value 最大LES client peers数量(默认值:20) 
–lightkdf 在KDF强度消费时降低key-derivation RAM&CPU使用

开发者(模式)选项:

–dev 使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。 
–dev.period value 开发者模式下挖矿周期 (0 = 仅在交易时) (默认: 0)

ETHASH 选项:

–ethash.cachedir ethash验证缓存目录(默认 = datadir目录内) 
–ethash.cachesinmem value 在内存保存的最近的ethash缓存个数 (每个缓存16MB ) (默认: 2) 
–ethash.cachesondisk value 在磁盘保存的最近的ethash缓存个数 (每个缓存16MB) (默认: 3) 
–ethash.dagdir “” 存ethash DAGs目录 (默认 = 用户hom目录) 
–ethash.dagsinmem value 在内存保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 1) 
–ethash.dagsondisk value 在磁盘保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 2)

交易池选项:

–txpool.nolocals 为本地提交交易禁用价格豁免 
–txpool.journal value 本地交易的磁盘日志:用于节点重启 (默认: “transactions.rlp”) 
–txpool.rejournal value 重新生成本地交易日志的时间间隔 (默认: 1小时) 
–txpool.pricelimit value 加入交易池的最小的gas价格限制(默认: 1) 
–txpool.pricebump value 价格波动百分比(相对之前已有交易) (默认: 10) 
–txpool.accountslots value 每个帐户保证可执行的最少交易槽数量 (默认: 16) 
–txpool.globalslots value 所有帐户可执行的最大交易槽数量 (默认: 4096) 
–txpool.accountqueue value 每个帐户允许的最多非可执行交易槽数量 (默认: 64) 
–txpool.globalqueue value 所有帐户非可执行交易最大槽数量 (默认: 1024) 
–txpool.lifetime value 非可执行交易最大入队时间(默认: 3小时)

性能调优的选项:

–cache value 分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128) 
–trie-cache-gens value 保持在内存中产生的trie node数量(默认:120)

帐户选项:

–unlock value 需解锁账户用逗号分隔 
–password value 用于非交互式密码输入的密码文件

API和控制台选项:

–rpc 启用HTTP-RPC服务器 
–rpcaddr value HTTP-RPC服务器接口地址(默认值:“localhost”) 
–rpcport value HTTP-RPC服务器监听端口(默认值:8545) 
–rpcapi value 基于HTTP-RPC接口提供的API 
–ws 启用WS-RPC服务器 
–wsaddr value WS-RPC服务器监听接口地址(默认值:“localhost”) 
–wsport value WS-RPC服务器监听端口(默认值:8546) 
–wsapi value 基于WS-RPC的接口提供的API 
–wsorigins value websockets请求允许的源 
–ipcdisable 禁用IPC-RPC服务器 
–ipcpath 包含在datadir里的IPC socket/pipe文件名(转义过的显式路径) 
–rpccorsdomain value 允许跨域请求的域名列表(逗号分隔)(浏览器强制) 
–jspath loadscrip{过滤}t Javascrip{过滤}t加载脚本的根路径(默认值:“.”) 
–exec value 执行Javascrip{过滤}t语句(只能结合console/attach使用) 
–preload value 预加载到控制台的Javascrip{过滤}t文件列表(逗号分隔)

网络选项:

–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, 轻节点) 
–port value 网卡监听端口(默认值:30303) 
–maxpeers value 最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:25) 
–maxpendpeers value 最大尝试连接的数量(如果设置为0,则将使用默认值)(默认值:0) 
–nat value NAT端口映射机制 (any|none|upnp|pmp|extip:) (默认: “any”) 
–nodiscover 禁用节点发现机制(手动添加节点) 
–v5disc 启用实验性的RLPx V5(Topic发现)机制 
–nodekey value P2P节点密钥文件 
–nodekeyhex value 十六进制的P2P节点密钥(用于测试)

矿工选项:

–mine 打开挖矿 
–minerthreads value 挖矿使用的CPU线程数量(默认值:8) 
–etherbase value 挖矿奖励地址(默认=第一个创建的帐户)(默认值:“0”) 
–targetgaslimit value 目标gas限制:设置最低gas限制(低于这个不会被挖?) (默认值:“4712388”) 
–gasprice value 挖矿接受交易的最低gas价格 
–extradata value 矿工设置的额外块数据(默认=client version)

GAS价格选项:

–gpoblocks value 用于检查gas价格的最近块的个数 (默认: 10) 
–gpopercentile value 建议gas价参考最近交易的gas价的百分位数,(默认: 50)

虚拟机的选项:

–vmdebug 记录VM及合约调试信息

日志和调试选项:

–metrics 启用metrics收集和报告 
–fakepow 禁用proof-of-work验证 
–verbosity value 日志详细度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3) 
–vmodule value 每个模块详细度:以 =的逗号分隔列表 (比如 eth/*=6,p2p=5) 
–backtrace value 请求特定日志记录堆栈跟踪 (比如 “block.go:271”) 
–debug 突出显示调用位置日志(文件名及行号) 
–pprof 启用pprof HTTP服务器 
–pprofaddr value pprof HTTP服务器监听接口(默认值:127.0.0.1) 
–pprofport value pprof HTTP服务器监听端口(默认值:6060) 
–memprofilerate value 按指定频率打开memory profiling (默认:524288) 
–blockprofilerate value 按指定频率打开block profiling (默认值:0) 
–cpuprofile value 将CPU profile写入指定文件 
–trace value 将execution trace写入指定文件

WHISPER实验选项:

–shh 启用Whisper 
–shh.maxmessagesize value 可接受的最大的消息大小 (默认值: 1048576) 
–shh.pow value 可接受的最小的POW (默认值: 0.2)

弃用选项:

–fast 开启快速同步 
–light 启用轻客户端模式

其他选项:

–help, -h 显示帮助

如果你想马上开始分享你一个以太坊教程,可以直接在线练习使用geth命令。