基础选项:
--datadir“/your/database/path”
指定以太坊数据和密钥目录,在开启私有链时需指定私有链目录,默认为公有链目录。
--keystore“/your/keystore/path”
指定keystore文件(账户密钥文件)目录,默认值在datadir目录下
--networkidvalue
指定以太坊网络id,其实就是区块链网络的身份标示,公有链为1,测试链为3,默认启动id为1
--testnet启动以太坊测试链
--dev启动以太坊开发测试链,只有自身一个节点
--identityvalue 自定义节点名称,便于节点之间识别
以“myEthNodeName”为名称启动私有链
查看本地节点信息
--fast启动快速区块同步模式,在同步到最新区块后,转化为正常区块同步模式
注意:在已经进行过正常区块同步的链上,不要使用该命令,也就是说,使用该选项必须从区块同步最初开始,当同步到最新区块后,可以正常同步区块,下次启动时就可以不用输入次选项,区块高度也会达到快速同步高度。
--light轻节点模式,只会同步区块头信息,可以完成基本的命令操作 Enable light client mode
--lightservvalue
设置轻节点模式的请求时间最大占比,由于轻节点不会同步区块内部信息,当查询区块信息时(交易信息,特定区块高度信息等)会向全节点其他节点请求数据,设置最大请求时间占比。范围为:0-90,默认为0
--lightpeersvalue
设置轻节点模式下,允许连接的最大节点数,默认为20
--lightkdf降低轻节CPU和RAM占有率
性能调节选项:
–cache value 调整内存分配 最小16MB,默认128MB
–trie-cache-gens value 内存中存储节点数,默认为120
与账户相关选项:
--unlockvalue 指定要解锁的账户地址,不指定密码文件则为交互模式
--password/your/password/file/path 通过密码文件解锁相应账户,非交互模式
API和命令行相关选项:
默认情况下,geth节点不会启动http和weboscket服务,并且由于安全原因,并不是所有功能都通过这些接口提供
--rpc开启 HTTP-RPC 服务
--rpcaddr value指定HTTP-RPC 服务监听地址,默认为“localhost”
--rpcport value指定HTTP-RPC 服务监听端口,默认为8545
--rpcapi value指定HTTP-RPC 开启API,默认为 “eth,net,web3”
--ws开启 WS-RPC 服务
--wsaddr value指定WS-RPC 服务监听地址,默认为 “localhost”
--wsport value指定 WS-RPC 服务监听端口,默认值:8546
--wsapi value指定WS-RPC 开启API,默认为 “eth,net,web3”
--wsorigins value指定允许“websockets”请求的地址
--ipcdisable关闭 IPC-RPC 服务
--ipcapi value指定WS-RPC 开启API,默认为”admin,debug,eth,miner,net,personal,shh,txpool,web3″
--ipcpath "geth.ipc"指定IPC接口
--rpccorsdomain value指定可以访问APi的domain地址,设置为“*”则任何地址都可以访问,这样做不安全。
--jspath /loadScript/path指定loadScript路径,默认为”.”
--exec valueJavaScript解释器,解释Js 语句,只能与console/attach同时使用
e.g:
geth --jspath "/tmp" --exec 'loadScript("checkbalances.js")' attach
--preload value自定义JavaScript文件加载到控制台中,这可以用于加载常用的功能,如设置web3等。
e.g:
geth --preload "/my/scripts/folder/utils.js,/my/scripts/folder/contracts.js"console
网络相关选项:
--bootnodes value手动添加连接节点,对私有链不起作用。
e.g:
geth --bootnodes enode://pubkey1@ip1:port1,enode://pubkey2@ip2:port2,enode://pubkey3@ip3:port3
--port value指定以太坊网络监听端口,默认为: 30303。
--maxpeers value设置允许最大连接节点数目,默认为25
--maxpendpeers value设置最大待定连接节点数目,默认为0
--nat value
提供对通用网络端口映射协议的访问
(any|none|upnp|pmp|extip:),默认: “any”
--nodiscover关闭自动连接节点,但是可以手动添加节点,在搭建私有链时,为避免其他节点连入私有链,可使用该命令。
--v5disc启动实验性RLPx V5 机制(没研究过)
--nodekey value引入P2P节点密钥文件
--nodekeyhex value十六进制的P2P节点密钥,为用于测试
挖矿相关选项:
--mine开启挖矿,默认为CPU挖矿
--minerthreads value挖矿占用CPU线程数,默认为4
--autodag自动生成DAG
--etherbase value指定矿工账号,默认为keystore中首个账号
--targetgaslimit value设置矿工挖矿预期GAS值,默认为“4712388”
--gasprice value接受的交易最少GAS值,默认为 “20000000000”
--extradata value给矿工设置附加信息,默认值为节点客户端的版本
==========================华丽的分割线======================
Geth在以太坊智能合约开发中最常用的工具(必备开发工具),一个多用途的命令行工具。
熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册。 本文主要是对geth help的翻译,基于最新的geth 1.7.3-stable版本。
命令用法
geth[选项] 命令[命令选项][参数…]
版本:
1.7.3-stable
命令:
account 管理账户attach 启动交互式JavaScript环境(连接到节点)bug 上报bugIssuesconsole 启动交互式JavaScript环境copydb 从文件夹创建本地链dumpDump(分析)一个特定的块存储dumpconfig 显示配置值export 导出区块链到文件import 导入一个区块链文件init 启动并初始化一个新的创世纪块js 执行指定的JavaScript文件(多个)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.journalvalue 本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp")--txpool.rejournalvalue 重新生成本地交易日志的时间间隔 (默认: 1小时)--txpool.pricelimitvalue 加入交易池的最小的gas价格限制(默认: 1)--txpool.pricebumpvalue 价格波动百分比(相对之前已有交易) (默认: 10)--txpool.accountslotsvalue 每个帐户保证可执行的最少交易槽数量 (默认: 16)--txpool.globalslotsvalue 所有帐户可执行的最大交易槽数量 (默认: 4096)--txpool.accountqueuevalue 每个帐户允许的最多非可执行交易槽数量 (默认: 64)--txpool.globalqueuevalue 所有帐户非可执行交易最大槽数量 (默认: 1024)--txpool.lifetimevalue 非可执行交易最大入队时间(默认: 3小时)
性能调优的选项:
--cache value 分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128)--trie-cache-gens value 保持在内存中产生的trie node数量(默认:120)
帐户选项:
--unlockvalue 需解锁账户用逗号分隔--passwordvalue 用于非交互式密码输入的密码文件
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 loadScript JavaScript加载脚本的根路径(默认值:“.”)--exec value 执行JavaScript语句(只能结合console/attach使用)--preload value 预加载到控制台的JavaScript文件列表(逗号分隔)
网络选项:
--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价格选项:
--gpoblocksvalue 用于检查gas价格的最近块的个数 (默认:10)--gpopercentilevalue 建议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 显示帮助
版权:
Copyright2013-2017 Thego-ethereum Authors