以太坊Geth使用教程:从安装到常用命令完全指南

想跟以太坊区块链打交道,Geth是绕不开的工具。它是用Go语言写的以太坊官方客户端,全名叫Go Ethereum。简单说,装上Geth,你的电脑就变成了以太坊网络里的一个节点,可以同步区块链数据、管理钱包账户、发起转账,甚至搭建自己的私链做开发测试。这篇文章就用大白话,带你把Geth从安装到日常使用走一遍。

一、Geth是什么,能干什么

Geth说白了就是一个软件,运行之后它会连上以太坊网络,帮你下载和验证链上的每一笔数据。你可以把它当成以太坊世界的“官方客户端”,功能很全:一是同步全链数据,做一个真正的全节点;二是管理账户和私钥,相当于一个本地钱包;三是通过JSON-RPC接口,让别的程序调用你的节点查询数据、发送交易;四是开发者可以用它搭建测试用的私链,不用花钱就能练习合约部署。对于做区块链开发或者想自己掌握数据的人来说,Geth是最基础也最重要的工具。

二、怎么安装Geth

安装方式看你的系统。用Linux的话,推荐走官方源,Ubuntu系统先添加以太坊的PPA仓库,然后执行apt install ethereum一条命令搞定。Mac用户最省事,直接brew install ethereum就行。Windows用户去官网下载安装包,双击安装即可。装完之后打开终端或命令行窗口,输入geth version,能显示出版本号就说明装好了。建议隔一段时间升级一下版本,以太坊网络更新比较频繁,老版本可能会遇到兼容问题。

三、第一次启动:同步区块数据

直接在命令行输入geth回车,节点就开始运行了。它会自动连接其他节点,然后开始同步数据。这里要注意,以太坊主网的数据量非常大,完整同步可能要几百个G的硬盘空间,而且耗时很长。所以Geth提供几种同步模式可以选择。用geth --syncmode snap是快照同步,目前速度最快的默认方式;--syncmode full是全量同步,保存所有历史数据,适合对数据要求严格的场景;--syncmode light是轻节点,只下载区块头,占用空间小,但功能受限。普通用户用默认的snap模式就行,再加上--http参数开启HTTP接口,方便后续调用。

四、账户管理:创建和备份钱包

Geth自带账户管理功能。在Geth的控制台里输入eth.accounts可以查看现有账户。创建新账户用personal.newAccount(),然后设置一个密码,系统会生成一个地址。这里有个重点:账户文件保存在keystore目录里,是一个JSON格式的文件,里面加密存放着你的私钥。备份钱包就是备份这个文件加上你的密码。一旦keystore文件丢了或者密码忘了,里面的资产就永远找不回来了,所以一定要多存几个地方,别只放在电脑里。

五、控制台常用命令

节点运行的时候,可以打开一个交互式控制台,方法是运行geth attach或者启动时加上console参数。进入控制台后有几个高频命令值得记住:eth.blockNumber查看当前同步到了第几个区块;eth.getBalance("地址")查询某个地址的余额;eth.syncing查看同步进度,返回false说明已经同步到最新;net.peerCount显示当前连接了多少个节点,数字太小说明网络状况不佳;miner.start和miner.stop用来开启和停止挖矿,不过以太坊转成PoS之后,个人挖矿已经成为历史,现在验证者需要质押32个ETH才能参与出块。退出控制台输入exit即可。

六、开启RPC接口给程序调用

很多应用需要通过接口访问节点,比如DApp后端、交易机器人等。启动Geth时加上--http --http.addr 0.0.0.0 --http.port 8545 --http.api eth,net,web3,就开启了HTTP的RPC服务。这样其他程序可以通过http://你的IP:8545这个地址调用节点功能。要注意安全问题,如果是放在公网服务器上,一定要限制访问来源,用--http.vhosts和防火墙规则控制,不然节点可能被别人白嫖甚至攻击。也可以用--ws参数开启WebSocket接口,适合需要实时推送的场景。

七、搭建自己的测试私链

开发者经常需要一条自己的链来测试,Geth可以轻松做到。先写一个创世块的配置文件,指定链ID、初始账户和难度等参数,然后用geth init 创世文件.json初始化,再启动节点时指定一个单独的data目录和网络ID,一条属于你的私链就诞生了。在这条链上,你可以随便转币、部署合约、测试各种功能,不用花一分钱真金白银。测试满意了再把代码搬到测试网或主网上去。

八、使用中的几个实用建议

第一,数据目录默认在用户目录下的.ethereum文件夹,硬盘空间不够的话可以用--datadir参数指定到其他盘。第二,同步过程很吃硬盘性能,最好用SSD固态硬盘,机械硬盘同步起来会非常慢。第三,遇到同步卡住,可以试试删除链数据重新同步,或者升级到最新版本。第四,跑主网节点对配置有要求,内存建议16G以上,硬盘留足2T空间,不然很难长期稳定运行。第五,涉及主网资产操作时,务必确认命令和地址无误,链上交易不可撤销。

总的来说,Geth的功能覆盖了以太坊节点的大部分使用场景,从个人用户管理资产,到开发者搭建测试环境,都能用它搞定。刚上手建议先在测试网或私链上练手,熟悉了各项命令和参数之后,再去操作主网节点就会踏实很多。多用、多试、多看官方文档,Geth很快就能变成你顺手的生产力工具。

人民币美元兑换

人民币兑美元

CNY USD
1 CNY0.15 USD
5 CNY0.74 USD
10 CNY1.49 USD
25 CNY3.72 USD
50 CNY7.44 USD
100 CNY14.89 USD
500 CNY74.44 USD
1000 CNY148.88 USD
5000 CNY744.40 USD
10000 CNY1488.79 USD
50000 CNY7443.95 USD

美元兑人民币

美元 人民币
1 USD6.72 CNY
5 USD33.58 CNY
10 USD67.17 CNY
25 USD167.92 CNY
50 USD335.84 CNY
100 USD671.69 CNY
500 USD3358.43 CNY
1000 USD6716.86 CNY
5000 USD33584.32 CNY
10000 USD67168.64 CNY
50000 USD335843.20 CNY
人民币汇率

人民币

1 CNY

阿富汗尼阿富汗尼9.656 AFN
荷兰盾荷兰盾0.266 ANG
AOAAOA142.431 AOA
阿根廷比索阿根廷比索225.927 ARS
澳元澳元0.214 AUD

Copyright © 2024 All Rights Reserved. Mail: 819640@qq.com

本站汇率等数据仅供参考,最终以中国银行网上银行或中国银行各营业网点柜台实际交易汇率为准。