Geth安装

Geth安装花了十多个小时才搞定的 geth

结合了网上各种文章,经过十多个小时的失败,期间还把虚拟机搞得开机不了,但终于成功的安装了geth。下面我会展示我遇到的问题和解决方案

目录

1.系统环境

2.安装基础工具

3.安装cmake

4.安装Golang

5.防火墙及网络时间同步

6.进入geth

7.所有的环境配置


1.系统环境

Windows10,Linux,Centos7.6

2.安装基础工具

下载并安装git、vim、gcc-c++、ntp组件、nodejs以及添加epel第三方安装源。这些工具的说明如下:

以下是网络上的各种方法需要准备好的东西

yum install yum*:安装好工具包

克隆工具:yum install git

  • git:安装相关的组件,下载安装各类开源代码与工具的利器;
  • vim:文本编辑工具,取代vi;
  • gcc-c++:c/c++编译工具,用于golang下部分c库的编译以及truffle组件的编译
  • ntp:网络时钟同步组件;Ethereum的rpc网络需要时间同步;
  • nodejs:ethereum前端开发JavaScript包管理软件
  • epel:网络第三方的linux安装包源

执行如下安装命令下载安装上面6个东西:

yum update -y && yum install git bzip2 gcc-c++ ntp epel-release nodejs -y

总结:可能时间会下载稍微久一点,但是下载完之后就可以了,不需要操作其他东西

3.安装cmake

智能合约编译需要使用cmake

  • wget https://cmake.org/files/v3.15/cmake-3.15.2.tar.gz
  • tar -zxvf cmake-3.15.2.tar.gz
  • mv cmake-3.15.2 /usr/local/
  • cd /usr/local/cmake-3.15.2
  • ./bootstrap
  • gmake
  • gmake install

配置环境变量

  • echo “export PATH=/usr/local/cmake-3.15.2/bin:$PATH” >> /etc/profile
  • source /etc/profile
  • cmake -version

Geth安装

总结:本人安装cmake的时候还是非常顺利的 

4.安装Golang

  • wget https://storage.proxy.ustclug.org/golang/go1.10.2.linux-amd64.tar.gz
  • tar -C /usr/local -zxzf go1.10.2.linux-amd64.tar.gz
    • 我无法通过前面两点来安装go,而且低版本的go可能也无法兼容了
    • 因此我在网上找到了最新版的go:go1.18.3.linux-amd64.tar.gz
    • 然后一样安装在 /usr/local
  • echo “export GOROOT=/usr/local/go” >> /etc/profile
  • echo “export PATH=/usr/local/go/bin:$PATH” >> /etc/profile
  • source /etc/profile

克隆并编译go-ethereum

  • cd /usr/local
  • git clone https://github.com/ethereum/go-ethereum.git  
    • 这个我尝试过非常多次,都无法git clone克隆成功(只有一次成功过,网络问题?)
    • Geth安装
    • 因此,我在github仓库直接下载下来,通过Xftp7传到centos7.6
    • GitHub – ethereum/go-ethereum: Official Go implementation of the Ethereum protocol
    • Geth安装
    • 将这个ZIP文件下载解压下来,放到/usr/local/,就是文件go-ethereum-master
    • go-ethereum文件是这么多次尝试git clone成功一次得来的,go-ethereum-master和go-ethereum里面的文件是一模一样的
    • Geth安装
  • cd go-ethereum/
    • Geth安装
  • make all
    • 这一步我完全无法成功,做了很多次,花的时间也最长,遇到了各种问题,其一如下:
    • Geth安装
    • 失败的原因:GitHub仓库中,go-ethereum-build中,没有env.sh文件了!如果有的话,改成,把dos命令改成unix之后,就可以正常运行了。因为.sh是一个脚本,它会帮助我们安装,而这个脚本缺失了。然后默认是dos命令无法在Linux执行,所以要改成unix才行
    • 因此,我直接在网络上下载好geth最新版。地址:Downloads | Go Ethereum
    • 然后再/usr/local/Geth放置,解压运行就欧克了
    • Geth安装
  • echo “export PATH=$PATH:/usr/local/go-ethereum/build/bin” >> /etc/profile
  • source /etc/profile
  • geth version验证
    • Geth安装

5.防火墙及网络时间同步

开启网络时间同步

  • systemctl enable ntpd 
  • systemctl start ntpd

开启防火墙:开启防火墙,打开Geth使用的8087和30303端口

  • systemctl start firewalld
  • firewall-cmd –zone=public –add-port=8087/tcp –permanent
  • firewall-cmd –zone=public –add-port=30303/tcp –permanent

6.进入geth

Geth安装

 进入geth的文件如图,一开始执行权限并不是777,需要修改:chmod 777 geth。执行:直接输入geth。也可以:geth –datadir ./data。就会创建出一个data文件夹,用来存放我们的数据。执行情况如下:

Geth安装

7.所有的环境配置

Geth安装

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230301.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月7日 上午8:01
下一篇 2026年3月7日 上午8:22


相关推荐

  • Kimi与小红书合作升级AI技术

    Kimi与小红书合作升级AI技术

    2026年3月12日
    3
  • 图像处理入门教程[通俗易懂]

    图像处理入门教程[通俗易懂]  最近有人问我图像处理怎么研究,怎么入门,怎么应用,我竟一时语塞。仔细想想,自己也搞了两年图像方面的研究,做个两个创新项目,发过两篇论文,也算是有点心得,于是总结总结和大家分享,希望能对大家有所帮助。在写这篇教程之前我本想多弄点插图,让文章看起来花哨一点,后来我觉得没必要这样做,大家花时间沉下心来读读文字没什么不好,况且学术和技术本身也不是多么花哨的东西。  一、图像处理的应用  这个其实没什么…

    2022年5月17日
    49
  • aptitude 命令

    aptitude 命令aptitude

    2026年3月19日
    2
  • Django(50)drf异常模块源码分析

    Django(50)drf异常模块源码分析异常模块源码入口APIView类中dispatch方法中的:response=self.handle_exception(exc)源码分析我们点击handle_exception跳转,查看该

    2022年7月29日
    7
  • Python爬虫原理

    Python爬虫原理前言简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML、JS、CSS代码返回给浏览器,这些代码经过浏览器解析、渲染,将丰富多彩的网页呈现我们眼前;一、爬虫是什

    2022年7月3日
    34
  • Linux 设置oracle1521端口[通俗易懂]

    Linux 设置oracle1521端口[通俗易懂]centos5安装oracle实现其他机器连接,oracleserver与其他机器可以ping通,但由于linux防火墙默认是不开启1521端口的,应此需设置iptables;开始用命令设置:iptables-AINPUT-ptcp–dport1521-jACCEPTiptables-AOUTPUT-ptcp–sport1521-jACCEPT

    2022年5月29日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号