Geth

Geth是一款以太坊挖矿管理软件,您可以在软件管理自己的钱包,可以在软件创建新的账户,可以管理公共账户地址,可以在软件查看ETH,可以将ETH发送到你的账户管理,软件提供命令运行,您可以结合提供的教程内容学习在命令界面如何创建账户,如果建立Geth交互方式,当您成功建立账户就可以在软件管理资产,软件会根据你的钱包数据显示余额,软件也附加开发者工具,方便你在软件上配置挖矿方式;软件启动就可以显示命令界面,dev命令具有预先开发的开发者帐户的临时权限证明网络已启用挖矿,dev.peod value命令显示在开发人员模式下使用的阻止时间段,-txpool.nolocals命令禁用本地提交的交易的价格豁免,txpool.pcelimit value命令强制接受到池中的最低价格限制!

Geth软件功能

管理账户

启动交互式Javascpt环境(连接到节点)

低级数据库作

从存储中转储特定块

显示配置值

转储创世纪阻止oN配置到标准输出

将区块链导出到文件

将原像数据库导出到RLP流中

导入区块链文件

从RLP流导入原像数据库

引导并初始化新的创世块

执行指定的Javascr文件

显示许可证

生成ethash验证缓存(用于测试)

生成ethash挖掘DAG(用于测试)

删除区块链和状态数据库

显示已弃用的标志

基于快照的命令集

打印版本号

(在线)当前版本是否受任何知识分子的困扰

管理以太坊预售钱包

显示命令列表或一个命令的帮助

Geth命令行内容

以太坊期权:

–config value:TOML配置文件

–datadirvalue:数据库和密钥库的数据目录(默认:“〜/ .ethereum”)

–datadir.ancient value:古段的数据目录(默认=内部chaindata)

–datadir.minfreedisk值:最小可用磁盘空间(以MB为单位),一旦达到该值,就会触发自动关闭(默认= –cache.gc转换为MB,0 =禁用)

–keystore value:密钥库的目录(默认= datadir内部)

–usb:启用对USB硬件钱包的监视和管理

–pcscdpath value:智能卡守护程序(pcscd)套接字文件的路径(默认值:“ / run / pcscd / pcscd.comm”)

–networkid value:明确设置网络ID(整数)(对于测试网:改用–psten,-nkeby,-goerli)(默认值:1)

–mainnet:以太坊主网

–goerli:Görli网络:预先配置的权威测试网络

–nkeby:Rinkeby网络:预先配置的权威测试网络

–yolov3:YOLOv3网络:预先配置的权威证明寿命短的测试网络。

–psten:Ropsten网络:预先配置的工作量证明测试网络

–syncmode值:区块链同步模式(“ fast”,“ full”,“ snap”或“ light”)(默认值:fast)

–exitwhensynced:块同步完成后退出

–gcmode值:区块链垃圾收集模式(“完整”,“存档”)(默认值:“完整”)

–txlookuplimitlimit value:交易索引的最近区块数(默认=大约一年,0 =整个链)(默认值:2350000)

–ethstats value:ethstats服务的报告L(nodename:secret @ host:port)

–identity value:自定义节点名称

–lightkdf:减少密钥派生RAM和CPU的使用,但要以牺牲KDF强度为代价

–whitelist value:逗号分隔的块编号到哈希映以强制执行(=)

轻客户端选项: –light.serve value :服务LES请求所允许的最大时间百分比(多线程处理允许超过100的值)(默认值:0) –light.ingress value ::服务轻量客户端的传入带宽限制(千字节/秒,0 =无限)(默认值:0) –light.egress值服务轻量客户端的传出带宽限制(千字节/秒,0 =无限)(默认值:0) –light.maxpeers value :要服务或要连接的灯光的最大数量(默认值:100) –ulc.s value :受信任的超轻量级列表 –ulc.fraction value :宣布新磁头所需的受信任超轻的最小百分比(默认值:75) –ulc.onlyannounce:超轻仅发送 –light.nopruning:禁用古代轻链数据修剪 –light.nosyncserve:启用在同步之前为light客户端提供服务

能调整选项:

–cache值:分配给内部缓存的内存的兆字节数(默认= 40个mainnet完整节点,128个亮模式)(默认值:1024)

–cache.database值:用于数据库io的缓存允许量的百分比(默认值:50)

–cache.te值:用于te缓存的缓存内存余量的百分比(默认= 15%完整模式,30%存档模式)(默认值:15)

–cache.te.journal值:特里高速缓存的磁盘志目录,以便在节点重启后继续运行(默认值:“ tecache”)

–cache.te.rejournal值:重新生成te缓存志的时间间隔(默认值:1h0m0s)

–cache.gc值:用于修剪树的缓存内存余量的百分比(默认= 25%完整模式,0%存档模式)(默认值:25)

–cache.snapshot值:用于快照缓存的缓存内存余量的百分比(默认= 10%完整模式,20%存档模式)(默认值:10)

–cache.noprefetch:在块导入期间禁用启发式状态预取(较少的CPU和磁盘IO,更多的时间等待数据)

–cache.preimages:启用记录te键的SHA3 / keccak预映像

账户选项:

–unlock值:用逗号分隔的帐户列表进行解锁

–password值:用于非交互式密码输入的密码文件

–signer值:外部签署者(L或ipc文件的路径)

–allow-insecure-unlock:当http暴露与帐户相关的RPC时,允许不安全的帐户解锁

API和控制台选项:

–ipcdisable:禁用IPC-RPC

–ipcpath值:datadir中IPC套接字/管道的文件名(显式路径对其进行转义)

–http:启用HTTP-RPC

–http.addr值:HTTP-RPC侦听接口(默认值:“ localhost”)

–http.port值:HTTP-RPC侦听端口(默认值:8545)

–http.api值:通过HTTP-RPC接口提供的API

–http.rpcprefix值:在其上提供ON-RPC的HTTP路径路径前缀。使用“ /”在所有路径上投放。

–http.corsdomain值:逗号分隔的域列表,从中接受跨源请求(强制浏览器)

–http.vhosts value:逗号分隔的虚拟主机名列表,从中接受请求(强制执行)。接受“ *”通配符。 (默认值:“ localhost”)

–ws:启用WS-RPC

–ws.addr值:WS-RPC侦听接口(默认值:“ localhost”)

–ws.port值:WS-RPC侦听端口(默认值:8546)

–ws.api值:通过WS-RPC接口提供的API

–ws.rpcprefix value:提供ON-RPC的HTTP路径前缀。使用“ /”在所有路径上投放。

–ws.ogins value:接受websockets请求的来源

–graphql:在HTTP-RPC上启用GraphQL。请注意,只有在同时启动HTTP的情况下,才能启动GraphQL。

–graphql.corsdomain值:逗号分隔的域列表,从中接受跨源请求(强制浏览器)

–graphql.vhosts value:逗号分隔的虚拟主机名列表,从中接受请求(强制执行)。接受“ *”通配符。 (默认值:“ localhost”)

–rpc.gascap value:设置可以在eth_call / estimateGas中使用的气体上限(0 =无限)(默认值:25000000)

–rpc.txfeecap value:设置可以通过RPC API发送的交易费用的上限(以醚为单位)(0 =无上限)(默认值:1)

–rpc.allow-unptected-txs:允许不受保护(非EIP155签名)的事务通过RPC提交

–jspath loadScpt:loadScpt的JavaScpt根路径(默认值:“。”)

–exec值:执行JavaScpt

–preload值:逗号分隔的JavaScpt文件列表,以预加载到控制台中

网络选项:

–bootnodes值:用于P2P发现引导程序的逗号分隔的enode L

–discovery.dns值:设置DNS发现入口点(使用“”禁用DNS)

–port值:网络监听端口(默认:30303)

–maxpeers值:最大网络对等体数(如果设置为0,则禁用网络)(默认值:50)

–maxpendpeers value:最大未决连接尝试次数(如果设置为0,则使用默认值)(默认值:0)

–nat值:NAT端口映机制(任意|无| upnp | pmp | extip:)(默认值:“ any”)

–nodiscover:禁用对等发现机制(手动对等添加)

–v5disc:启用实验RLPx V5(主题发现)机制

–netrestct值:将网络通信限制为给定的IP网络(CIDR掩码)

–nodekey值:P2P节点密钥文件

–nodekeyhex值:P2P节点密钥为十六进制(用于测试)

矿工选项:

–mine启用挖矿

–miner.threads值用于挖掘的CPU线程数(默认值:0)

–miner.notify值逗号分隔的HTTP L列表,用于新工作包

–miner.notify.full使用待处理的块标题而不是工作包进行

–miner.gaspce值进行交易的最低天然气价格(默认值:1000000000)

–miner.gastarget值所开采区块的目标天然气层(默认值:8000000)

–miner.gaslimit值开采区块的目标瓦斯上限(默认值:8000000)

–miner.etherbase value区块挖矿奖励的公共地址(默认=第一个帐户)(默认:“ 0”)

–miner.extradata值阻止矿工设置的额外数据(默认=客户端版本)

–miner.recommit value重新创建要开采的块的时间间隔(默认值:3s)

–miner.novefy禁用远程密封验证

汽油价格选项:

–gpo.blocks value要汽油价格的最近块数(默认值:20)

–gpo.percentile value建议的天然气价格是一组最近交易的天然气价格的给定百分比(默认值:60)

–gpo.maxpce值gpo将建议最大汽油价格(默认值:500000000000)

虚拟机选项:

–vmdebug记录对VM和合同调试有用的

–vm.evm值外部EVM配置(默认=内置解释器)

–vm.ewasm值外部ewasm配置(默认=内置解释器)

记录和调试选项: –fakepow禁用工作量证明 –nocompaction导入后禁用数据库压缩 –verbosity值记录详细程度:0 =静默,1 =错误,2 =警告,3 =,4 =调试,5 =详细(默认值:3) –vmodule value每个模块的详细程度:<模式> = <级别>的逗号分隔列表(例如eth / * = 5,p2p = 4) –log.json使用ON格式化志 –log.backtrace值在特定的志记录中请求堆栈跟踪(例如“ block.go:271”) –log.debug在志中添加呼叫站点的位置(文件和行号) –ppf启用ppf HTTP –ppf.addr值ppf HTTP侦听接口(默认值:“ 127.0.0.1”) –ppf.port值ppf HTTP侦听端口(默认值:6060) –ppf.mempfileraterate值以给定的速率打开内存配置文件(默认值:524288) –ppf.blockpfileraterate值以给定的速率打开块分析(默认值:0) –ppf.cpupfile值将CPU配置文件写入给定文件 –trace值将执行跟踪写入给定文件

指标和统计选项: –metcs启用指标收集和报告 –metcs.expensive启用昂贵的指标收集和报告 –metcs.addr值启用的度量标准HTTP侦听接口(默认值:“ 127.0.0.1”) –metcs.port值指标HTTP侦听端口(默认值:6060) –metcs.influxdb启用指标导出/推送到外部InfluxDB数据库 –metcs.influxdb.endpoint值将度量标准报告给的InfluxDB API端点(默认值:“ http:// localhost:8086”) –metcs.influxdb.database值InfluxDB数据库名称,用于将报告的指标推送到(默认值:“ geth”) –metcs.influxdb.username值授权访问数据库的用户名(默认值:“ test”) –metcs.influxdb.password值授权访问数据库的密码(默认值:“ test”) –metcs.influxdb.tags值附加到所有度量的逗号分隔的InfluxDB标记(键/值)(默认值:“ host = localhost”)

Geth安装方法

1、打开geth-windows-amd-1.10.3-991384a7.exe软件直接安装

2、提示附加的安装内容,可以选择安装开发者工具

3、提示安装地址C:Pgram FilesGeth

4、提示安装进度条,等待主程序安装结束吧

5、Geth开始结束,点击close关闭安装界面

Geth教程

Geth入门

要使用Geth,您需要先安装它。您可以通过“安装和构建”部分中找到的多种方式来安装Geth 。其中包括通过您最喜欢的软件包管理器进行安装,下载的预构建二进制文件,将其作为docker容器运行或自行构建。

对于本指南,我们假设您已安装Geth并准备好找到如何使用它。该指南向您展示了如何创建帐户,同步到网络以及如何在帐户之间发送事务。

本指南使用Clef,这是我们与Geth进行交易签名的首选工具,它将取代Geth的帐户管理。

初始化谱号

首先,使用随机主种子初始化Clef,该种子也使用您定义的密码进行加密。密码必须至少为10个字符。

clef init

建立帐户

使用该clef newaccount命令创建两个帐户,为每个帐户设置一个密码,并记下每个帐户的公共地址。

启动

网路

您可以使用网络名称作为参数将Geth节点连接到多个不同的网络。其中包括主要的以太坊网络,您创建的专用网络以及使用不同共识算法的三个测试网络:

Ropsten:工作量证明测试网络

Rinkeby:权威证明测试网络

Görli:权威证明测试网络

对于本指南,我们使用Görli网络。

同步模式

您可以使用–syncmode “” 参数确定网络中属于哪种节点,以三种不同的同步模式之一启动Geth 。

这些都是:

完整:下载所有块(包括标题,交易和收据),并通过执行每个块来增量生成区块链的状态。

快速(默认):下载所有块(包括标题,交易和收据),验证所有标题,下载状态并针对标题进行验证。

浅:下载所有块标题,块数据,并随机进行验证。

在本教程中,我们使用light同步:

开始谱号

启动Clef,为我们要连接的网络设置密钥库和链ID(goerli为5):

clef –keystore /keystore –chainid 5

首先,您会看到有关缺少密钥库的错误,我们会尽快解决。

启动geth

下面的命令还启用了Geth RPC接口 (我们将在下面介绍),并将Clef设置为事务签名者。

geth –goerli –syncmode “light” –http –signer=/clef.ipc

获取ETH

除非您在Görli网络上的另一个帐户中拥有以太坊,否则可以使用 水龙头将ETH发送到您的新帐户地址中,以用于本指南。

使用IPC或RPC连接到Geth

您可以通过两种方式与Geth进行交互:使用基于IPC的JavaScpt控制台直接与节点进行交互,或使用RPC通过HTTP远程连接至节点。

IPC允许您做更多的事情,尤其是在创建和与帐户进行交互时,但是您需要直接访问该节点。

RPC允许远程应用程序访问您的节点,但具有局限和安全考虑,并且默认情况下仅允许访问eth和shh 名称空间中的方法。在RPC文档中了解如何覆盖此设置。

使用IPC

连接到控制台

从另一个终端窗口连接到节点上的IPC控制台:

geth attach

查看账户余额

web3.fmWei(eth.getBalance(“”),”ether”)

获取帐户的余额不需要签署交易,因此Clef不会要求批准,Geth会返回该值。

发送ETH到账户

使用Görli龙头将您添加了ETH的帐户中的0.01 ETH发送到您创建的第二个帐户中:

eth.sendTransaction({fm:””,to:””, value: web3.toWei(0.01,”ether”)})

此作确实需要签署交易,因此Clef会提示您批准该交易,如果这样做,则要求您提供发送ETH的密码。如果密码正确,Geth继续进行交易。

要进行,请获取第二个帐户的帐户余额:

web3.fmWei(eth.getBalance(“”),”ether”)

使用RPC

连接到RPC

您可以使用RPC API使用标准HTTP请求连接到Geth节点,例如:

查看账户余额

获取帐户的余额不需要签署交易,因此Clef不会要求批准,Geth会返回该值。

发送ETH到账户

使用Görli龙头将您添加了ETH的帐户中的0.01 ETH发送到您创建的第二个帐户中:

此作确实需要签名,因此Clef会提示您批准它,如果这样做,则要求您提供发送ETH的密码。如果密码正确,Geth继续进行交易。

要进行,请获取第二个帐户的帐户余额:

上一篇 2022-11-28

相关推荐

  • Geth

    Geth是一款以太坊挖矿管理软件,您可以在软件管理自己的钱包,可以在软件创建新的账户,可以管理公共账户地址,可以在软件查看ETH,可以将ETH发送到你的账户管理,软件提供命令运...
正在提交中,请稍等片刻...

发表回复

请登录后评论...
登录后才能评论

评论列表 (0条)