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继续进行交易。
要进行,请获取第二个帐户的帐户余额:
近期热门