Geth命令选项介绍

基础选项:

--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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,245评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,749评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,960评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,575评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,668评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,670评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,664评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,422评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,864评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,178评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,340评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,015评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,646评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,265评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,494评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,261评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,206评论 2 352

推荐阅读更多精彩内容

  • 就像是我与我喜爱的西芹,他们总是带着脆生生的口吻对我说,“你们人真是奇怪,我们才活一年,已经觉得很漫长了。可是你们...
    三斤橡皮阅读 459评论 10 7
  • 不被世界理解的天才 对别的孩子来说,生在一个爸爸是政府官员、妈妈是大学教授的家庭,相当于含着金钥匙。但对我却是一种...
    明心慧爱阅读 377评论 0 1
  • 如果承受不了分别 就不要相聚 如果承受不了嗔念 就不用相遇 如果承受不了痴恨 又何须相爱盟许 聚散 不过是年轮的一...
    王不烦阅读 302评论 0 2