以太坊geth常见命令

时间:2024-05-20 20:42:54

基础选项:
--datadir     “/your/database/path”
指定以太坊数据和**目录,在开启私有链时需指定私有链目录,默认为公有链目录。

--keystore      “/your/keystore/path”
指定keystore文件(账户**文件)目录,默认值在datadir目录下

--networkid     value
指定以太坊网络id,其实就是区块链网络的身份标示,公有链为1,测试链为3,默认启动id为1

--testnet         启动以太坊测试链
以太坊geth常见命令

--dev         启动以太坊开发测试链,只有自身一个节点
以太坊geth常见命令

--identity value         自定义节点名称,便于节点之间识别
以“myEthNodeName”为名称启动私有链
以太坊geth常见命令
查看本地节点信息
以太坊geth常见命令
--fast         启动快速区块同步模式,在同步到最新区块后,转化为正常区块同步模式
注意:在已经进行过正常区块同步的链上,不要使用该命令,也就是说,使用该选项必须从区块同步最初开始,当同步到最新区块后,可以正常同步区块,下次启动时就可以不用输入次选项,区块高度也会达到快速同步高度。
以太坊geth常见命令
以太坊geth常见命令

--light 轻节点模式,只会同步区块头信息,可以完成基本的命令操作 Enable light client mode
以太坊geth常见命令
以太坊geth常见命令

--lightserv     value
设置轻节点模式的请求时间最大占比,由于轻节点不会同步区块内部信息,当查询区块信息时(交易信息,特定区块高度信息等)会向全节点其他节点请求数据,设置最大请求时间占比。范围为:0-90,默认为0

--lightpeers     value
设置轻节点模式下,允许连接的最大节点数,默认为20

--lightkdf    降低轻节CPU和RAM占有率

性能调节选项:
–cache value        调整内存分配 最小16MB,默认128MB
–trie-cache-gens value 内存中存储节点数,默认为120

与账户相关选项:
--unlock     value 指定要解锁的账户地址,不指定密码文件则为交互模式

--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 value     JavaScript解释器,解释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://[email protected]:port1,enode://[email protected]:port2,enode://[email protected]: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        给矿工设置附加信息,默认值为节点客户端的版本