ETHEREUM OPTIONS: --config value TOML配置文件 --datadir value 数据库和密钥库的数据目录 (default: "/Users/apple/Library/Ethereum") --datadir.ancient value 链数据链(默认为链段内的数据 (default = inside chaindata) --keystore value 密钥库的目录 (default = inside the datadir) --nousb 禁用对USB硬件钱包的监视和管理 --pcscdpath value 智能卡守护程序(pcscd)套接字文件的路径 --networkid value 网络标识符(integer, 1=Frontier, 3=Ropsten, 4=Rinkeby, 5=Görli) (default: 1) --goerli Görli网络:预先配置的权威验证测试网络 --rinkeby Rinkeby网络:预先配置的授权证明测试网络 --yolov1 YOLOv1网络:预先配置的权威验证短期测试网络。 --ropsten Ropsten网络:预先配置的工作证明测试网络 --syncmode value 块链同步模式("fast", "full", or "light") (default: fast) --exitwhensynced 块同步完成后退出 --gcmode value 区块链垃圾收集模式 ("full", "archive") (default: "full") --txlookuplimit value N按哈希维护事务索引的最近块数(默认值=索引所有块) (default = index all blocks) (default: 0) --ethstats value ethstats服务的报告URL(nodename:secret@host:port) --identity value 自定义节点名称 --lightkdf 以降低KDF强度为代价减少密钥派生RAM和CPU的使用 --whitelist value 要实施的逗号分隔块号到哈希映射(<number>=<hash>)
轻型客户端选项:
1 2 3 4 5 6 7 8
LIGHT CLIENT OPTIONS: --light.serve value 为LES请求提供服务所允许的最大时间百分比(多线程处理允许值超过100) (default: 0) --light.ingress value 服务轻型客户端的传入带宽限制(千字节/秒,0=无限制)(kilobytes/sec, 0 = unlimited) (default: 0) --light.egress value 服务轻型客户端的传出带宽限制 (kilobytes/sec, 0 = unlimited) (default: 0) --light.maxpeers value 要服务的轻型客户端或要连接的轻型服务器的最大数量 (default: 100) --ulc.servers value 受信任的ultra light服务器列表 --ulc.fraction value 发布新头部所需的受信任ultra light服务器的最小百分比 (default: 75) --ulc.onlyannounce Ultra light服务器仅发送通知
开发者链选项
1 2 3
DEVELOPER CHAIN OPTIONS: --dev 具有预先出资的开发人员帐户的临时授权证明网络,支持挖掘 --dev.period value 要在开发人员模式下使用的阻止期间(0=仅当事务挂起时才使用)(默认值:0)
乙炔选项
1 2 3 4 5 6 7 8 9
ETHASH OPTIONS: --ethash.cachedir value 存储ethash验证缓存的目录(默认为datadir内) --ethash.cachesinmem value 要保存在内存中的最近的ethash缓存数(每个16MB)(默认值:2) --ethash.cachesondisk value 要保留在磁盘上的最近的ethash缓存数(每个16MB)(默认值:3) --ethash.cacheslockmmap 锁定最近的ethash缓存的内存映射 --ethash.dagdir value 存储ethash挖掘dag的目录 (default: "/Users/apple/Library/Ethash") --ethash.dagsinmem value 要保存在内存中的最近的ethash挖掘dag数(每个1+GB)(默认值:1) --ethash.dagsondisk value 要保留在磁盘上的最近的ethash挖掘dag数(每个1+GB)(默认值:2) --ethash.dagslockmmap 最近的ethash挖掘dag的锁定内存映射
事务池选项
1 2 3 4 5 6 7 8 9 10 11 12
TRANSACTION POOL OPTIONS: --txpool.locals value 以逗号分隔的帐户作为本地帐户处理(不刷新,优先包含) --txpool.nolocals 对本地提交的交易禁用价格豁免 --txpool.journal value 本地事务的磁盘日志,以便在节点重新启动后继续存在(default: "transactions.rlp") --txpool.rejournal value 重新生成本地事务日志的时间间隔(default: 1h0m0s) --txpool.pricelimit value 最低天然气价格限制,以强制接受进入池(default: 1) --txpool.pricebump value 替换现有交易的价格缓冲百分比(default: 10) --txpool.accountslots value 每个帐户保证的最小可执行事务槽数(default: 16) --txpool.globalslots value 所有帐户的最大可执行事务槽数(default: 4096) --txpool.accountqueue value 每个帐户允许的最大不可执行事务槽数(default: 64) --txpool.globalqueue value 所有帐户的最大不可执行事务槽数(default: 1024) --txpool.lifetime value 不可执行事务排队的最长时间(default: 3h0m0s)
性能调整选项
1 2 3 4 5 6 7
PERFORMANCE TUNING OPTIONS: --cache value 分配给内部缓存的内存(default = 4096 mainnet full node, 128 light mode) (default: 1024) --cache.database value 用于数据库io的缓存内存允许量百分比 (default: 50) --cache.trie value 用于trie缓存的缓存内存允许量百分比(默认值=15%完全模式,30%存档模式)(default = 15% full mode, 30% archive mode) (default: 15) --cache.gc value 用于trie修剪的缓存内存允许量百分比(默认值=25%完全模式,0%存档模式) (default = 25% full mode, 0% archive mode) (default: 25) --cache.snapshot value 用于快照缓存的缓存内存允许量百分比(默认值=10%完全模式,20%存档模式)(default = 10% full mode, 20% archive mode) (default: 10) --cache.noprefetch 在块导入期间禁用启发式状态预取(CPU和磁盘IO更少,等待数据的时间更长)
帐户选项
1 2 3 4 5
ACCOUNT OPTIONS: --unlock value 要解锁的帐户的逗号分隔列表 --password value 用于非交互式密码输入的密码文件 --signer value 外部签名者(ipc文件的url或路径) --allow-insecure-unlock 当http公开与帐户相关的RPC时允许不安全的帐户解锁
API AND CONSOLE OPTIONS: --ipcdisable 禁用IPC-RPC服务器 --ipcpath value datadir中IPC套接字/管道的文件名(显式路径转义) --http 启用HTTP-RPC服务器 --http.addr value HTTP-RPC服务器侦听接口(默认值:“localhost”) --http.port value HTTP-RPC服务器侦听端口(默认值:8545) --http.api value 通过HTTP-RPC接口提供的API --http.corsdomain value 从中接受跨源请求的以逗号分隔的域列表(强制使用浏览器) --http.vhosts value 从中接受请求的以逗号分隔的虚拟主机名列表(服务器强制)。接受“*”通配符。(默认值:“localhost”) --ws 启用WS-RPC服务器 --ws.addr value WS-RPC服务器侦听接口(默认值:“localhost”) --ws.port value WS-RPC服务器侦听端口(默认值:8546) --ws.api value 通过WS-RPC接口提供的API --ws.origins value 接受websockets请求的来源 --graphql 启用GraphQL服务器 --graphql.addr value GraphQL服务器侦听接口(默认值:“localhost”) --graphql.port value GraphQL服务器侦听端口(默认值:8547) --graphql.corsdomain value 从中接受跨源请求的以逗号分隔的域列表(强制使用浏览器) --graphql.vhosts value 从中接受请求的以逗号分隔的虚拟主机名列表(服务器强制)。接受“*”通配符。(默认值:“localhost”) --rpc.gascap value 设置可用于eth_call/estimateGas的气体上限(0=无限)(默认值:25000000) --rpc.txfeecap value 设置可通过rpcapis发送的交易费用上限(以太形式)(0=无上限)(默认值:1) --jspath loadScript loadScript的JavaScript根路径(默认:“.”) --exec value 执行JavaScript语句 --preload value 要预加载到控制台中的JavaScript文件的逗号分隔列表
网络选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14
NETWORKING OPTIONS: --bootnodes value 用于P2P发现引导的逗号分隔enode url --bootnodesv4 value P2P v4发现引导(轻型服务器,完整节点)的逗号分隔enode url(已弃用,使用--bootnodes) --bootnodesv5 value P2P v5发现引导(light server,light nodes)的逗号分隔enode url(已弃用,请使用--bootnodes) --discovery.dns value 设置DNS发现入口点(使用“”禁用DNS) --port value 网络侦听端口(默认值:30303) --maxpeers value 网络对等方的最大数量(如果设置为0,则禁用网络)(默认值:50) --maxpendpeers value 挂起连接尝试的最大次数(如果设置为0,则使用默认值)(默认值:0) --nat value NAT端口映射机制(any | none | upnp | pmp | extip:<IP>)(默认值:“any”) --nodiscover 禁用对等机发现机制(手动添加对等机) --v5disc 启用实验性RLPx V5(主题发现)机制 --netrestrict value 限制与给定IP网络的网络通信(CIDR掩码) --nodekey value P2P节点密钥文件 --nodekeyhex value P2P节点密钥为hex(用于测试)
矿工选项
1 2 3 4 5 6 7 8 9 10 11
MINER OPTIONS: --mine 启用挖掘 --miner.threads value 用于挖掘的CPU线程数(默认值:0) --miner.notify value 用于通知新工作包的逗号分隔HTTP URL列表 --miner.gasprice value 开采交易的最低天然气价格(默认值:1000000000) --miner.gastarget value 开采区块的目标天然气底板(默认值:8000000) --miner.gaslimit value 开采区块的目标气体上限(默认值:8000000) --miner.etherbase value 区块采矿奖励的公共地址(默认值=第一个帐户) (default = first account) (default: "0") --miner.extradata value 阻止miner设置的额外数据(默认值=客户端版本) (default = client version) --miner.recommit value 重新创建正在挖掘的块的时间间隔(默认值:3s) --miner.noverify 禁用远程密封验证
天然气价格ORACLE选项
1 2 3
GAS PRICE ORACLE OPTIONS: --gpo.blocks value 检查天然气价格的最近区块数(默认值:20) --gpo.percentile value 建议天然气价格是一组最近交易的天然气价格的给定百分比(默认值:60)
虚拟机选项
1 2 3 4
VIRTUAL MACHINE OPTIONS: --vmdebug 记录对VM和协定调试有用的信息 --vm.evm value 外部EVM配置(默认=内置解释器)(default = built-in interpreter) --vm.ewasm value 外部ewasm配置(默认=内置解释器)(default = built-in interpreter)
日志记录和调试选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14
LOGGING AND DEBUGGING OPTIONS: --fakepow 验证工作无效 --nocompaction 导入后禁用数据库压缩 --verbosity value 日志详细程度:0=静默,1=错误,2=警告,3=信息,4=调试,5=详细信息(默认值:3): 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3) --vmodule value 每个模块详细程度:逗号分隔的<pattern>=<level>列表(例如eth/*=5,p2p=4) <pattern>=<level> (e.g. eth/*=5,p2p=4) --backtrace value 在特定的日志记录语句处请求堆栈跟踪(例如“街区:271") (e.g. "block.go:271") --debug 在日志消息前面加上调用站点位置(文件和行号) --pprof 启用pprofhttp服务器 --pprof.addr value pprofhttp服务器监听接口(默认值:“127.0.0.1”) --pprof.port value pprofhttp服务器侦听端口(默认值:6060) --pprof.memprofilerate value 以给定的速率打开内存配置(默认值:524288) --pprof.blockprofilerate value 以给定速率启用块分析(默认值:0) --pprof.cpuprofile value 将CPU配置文件写入给定文件 --trace value 将执行跟踪写入给定文件
度量和统计选项
1 2 3 4 5 6 7 8 9 10 11
METRICS AND STATS OPTIONS: --metrics 启用指标收集和报告 --metrics.expensive 支持昂贵的指标收集和报告 --metrics.addr value 启用独立度量HTTP服务器侦听接口(默认值:“127.0.0.1”) --metrics.port value Metrics HTTP服务器侦听端口(默认值:6060) --metrics.influxdb 启用指标导出/推送到外部InfluxDB数据库 --metrics.influxdb.endpoint value 要向其报告度量的InfluxDB API终结点(default: "http://localhost:8086") --metrics.influxdb.database value 要将报告的度量推送到的InfluxDB数据库名称(default: "geth") --metrics.influxdb.username value 授权访问数据库的用户名(default: "test") --metrics.influxdb.password value 授权访问数据库的密码(default: "test") --metrics.influxdb.tags value 逗号分隔的InfluxDB标记(key/values)附加到所有测量值(default: "host=localhost")
耳语(实验)选项
1 2 3 4 5
WHISPER (EXPERIMENTAL) OPTIONS: --shh 启用耳语 --shh.maxmessagesize value 可接受的最大邮件大小(默认值:1048576) --shh.pow value 接受的最小功率(默认值:0.2) --shh.restrict-light 限制两个whisper light客户端之间的连接
别名(已弃用)选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
ALIASED (deprecated) OPTIONS: --rpc 启用HTTP-RPC服务器(已弃用,请使用--HTTP) --rpcaddr value HTTP-RPC服务器侦听接口(已弃用,使用--http.addr.地址)(默认值:“localhost”) --rpcport value HTTP-RPC服务器侦听端口(已弃用,请使用--http.端口)(默认值:8545) --rpccorsdomain value 从中接受跨源请求的以逗号分隔的域列表(强制使用浏览器)(已弃用,请使用--http.corsdomain) --rpcvhosts value 从中接受请求的以逗号分隔的虚拟主机名列表(服务器强制)。接受“*”通配符。(已弃用,使用--http.vhost)(默认值:“localhost”) --rpcapi value 通过HTTP-RPC接口提供的API(已弃用,使用--http.api) --wsaddr value WS-RPC服务器侦听接口(已弃用,使用--地址)(默认值:“localhost”) --wsport value WS-RPC服务器侦听端口(已弃用,请使用--ws.port公司)(默认值:8546) --wsorigins value 接受websockets请求的来源(不推荐,使用--ws.起源) (deprecated, use --ws.origins) --wsapi value 通过WS-RPC接口提供的API(已弃用,使用--ws.api标准) --gpoblocks value 检查天然气价格的最近区块数(不推荐,使用--gpo块)(默认值:20) --gpopercentile value 建议天然气价格是一组最近交易的天然气价格的给定百分比(不推荐,使用--gpo百分位)(默认值:60) --pprofport value pprofhttp服务器侦听端口(已弃用,使用--pprof.端口)(默认值:6060) --pprofaddr value pprofhttp服务器侦听接口(已弃用,使用--地址)(默认值:“127.0.0.1”) --memprofilerate value 以给定的速率打开内存分析(不推荐,使用--pprof.memprofilerate公司)(默认值:524288) --blockprofilerate value 以给定的速率打开块分析(不推荐,使用--pprof.blockprofilerate公司)(默认值:0) --cpuprofile value 将CPU配置文件写入给定文件(不推荐,使用--pprof.cpuprofile文件)
COMMANDS: list Print summary of existing accounts new Create a new account update Update an existing account import Import a private key into a new account
您可以通过获取有关子命令的信息geth account --help。
1 2 3 4 5 6 7 8
$ geth account list --help list [command options] [arguments...]
Print a short summary of all accounts
OPTIONS: --datadir "/home/bas/.ethereum" Data directory for the databases and keystore --keystore Directory for the keystore (default = inside the datadir)
$ geth account new Your new account is locked with a password. Please give a password. Do not forget this password. Passphrase: Repeat Passphrase: Address: {168bc315a2ee09042d83d7c5811b533620531f67}
$ geth account import --datadir /someOtherEthDataDir ./key.prv The new account will be encrypted with a passphrase. Please enter a passphrase now. Passphrase: Repeat Passphrase: Address: {7f444580bfef4b9bc7e14eb7fb2a029336b07c9d}
帐户更新
1 2 3 4 5 6 7 8 9
$ geth account update a94f5374fce5edbc8e2a8697c15331677e6ebf0b Unlocking account a94f5374fce5edbc8e2a8697c15331677e6ebf0b | Attempt 1/3 Passphrase: 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b Account 'a94f5374fce5edbc8e2a8697c15331677e6ebf0b' unlocked. Please give a new password. Do not forget this password. Passphrase: Repeat Passphrase: 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b
geth account new --password <(echo this is not secret!) geth --password <(echo this is not secret!) --unlock primary --rpccorsdomain localhost --verbosity 6 2>> geth.log
> function minedBlocks(lastn, addr) { addrs = []; if (!addr) { addr = eth.coinbase } limit = eth.blockNumber - lastn for (i = eth.blockNumber; i >= limit; i--) { if (eth.getBlock(i).miner == addr) { addrs.push(i) } } return addrs } // scans the last 1000 blocks and returns the blocknumbers of blocks mined by your coinbase // (more precisely blocks the mining reward for which is sent to your coinbase). > minedBlocks(1000, eth.coinbase) [352708, 352655, 352559]