Geth安装

article/2025/9/20 16:28:33

结合了网上各种文章,经过十多个小时的失败,期间还把虚拟机搞得开机不了,但终于成功的安装了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

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

4.安装Golang

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

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

7.所有的环境配置


http://chatgpt.dhexx.cn/article/kU2k4esj.shtml

相关文章

Geth控制台常用命令

1、Geth控制台命令 Geth Console是一个交互式的JavaScript 执行环境,里面内置了一些用来操作以太坊的JavaScript对象,我们可以直接调用这些对象来获取区块链上的相关信息。 这些对象主要包括: # 主要包含对区块链进行访问和交互相关的方法 eth# 主要包含查看p2p 网…

geth控制台控制

目录 geth控制台控制 启动控制台:输出结果直接显示 启动控制台:控制台输出结果写入 output.log 文件,但不能连接MetaMask 退出控制台 常用命令 开始挖矿 停止挖矿 转账 问题:出现报错 password or unlock 问题&#xff1…

geth的安装和使用

geth的安装和使用过程 windows下安装Geth配置和使用搭建私有网络 windows下安装Geth 1.下载地址: https://geth.ethereum.org/downloads/ 下载windows版 2.按指示安装 3.在cmd下进入安装路径,输入geth help查看是否安装成功 出现下面情况表示安装成功…

使用Geth搭建多节点私有链

使用Geth搭建多节点私有链 步骤 1.编辑初始化配置文件genesis.json {"config": {"chainId": 6668,"homesteadBlock": 0,"eip150Block": 0,"eip150Hash": "0x000000000000000000000000000000000000000000000000000000…

以太坊编程-Geth

前提:开发环境为Windows版本 一、下载安装 geth安装官网地址:https://geth.ethereum.org/downloads/ 安装时,根据提示一步一步安装即可 安装完成之后,需要进行配置环境变量 二、创世区块部署 新建.json文件:新建记事…

以太坊开发--geth的使用入门

geth的全称是go-ethereum,是一个以太坊客户端,用go语言编写,应该是目前最常用的客户端。当然以太坊客户端还有用C,Ruby,Python,Java等其他多种语言编写的,不同类型的客户端是为了满足不同的需求场景。今天我们主要来介绍geth(发音…

Geth安装和使用

一、简介 Geth是Go Ethereum开源项目的简称,它是使用Go语言编写且实现了Ethereum协议的客户端软件,也是目前用户最多,使用最广泛的客户端。通过Geth客户端与以太坊网络进行连接和交互可以实现账户管理、合约部署、挖矿等众多有趣且实用的功能…

GETH的安装和使用(Windows)

目录 一、Geth介绍 二、Geth安装 1.下载安装 2.配置环境变量 三、Geth私有链搭建 1.创建创世块文件 2.初始化区块链 3.启动私有节点 四、账户交易 1.创建账户 2.挖矿操作 3.查看区块和奖励 ​ 4.转账交易 一、Geth介绍 Geth 又名Go Ethereum.是以太坊协议的三种实现…

最长上升子序列 详解

最长上升子序列 时间限制: 10 Sec 内存限制:128 MB 题目描述 给定一个序列,初始为空。现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置。我们想知道此时最长上升子序列长度是多少? 输入 第一行一个整数N,…

最长上升子序列(二分)

最长上升子序列 给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数 N。 第二行包含 N 个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤100000, …

C++最长上升子序列

最长上升子序列简介 题目描述 现有数列a1&#xff0c;a2&#xff0c;a3……aN。在其中找到严格递增序列ai1&#xff0c;ai2&#xff0c;ai3&#xff0c;……aiK&#xff08;1 < i1 < i2 < i3 < …… < iK < N&#xff09;&#xff0c;请找出序列a的最长上升…

LIS最长上升子序列

给定一个数组 &#xff0c;让你找出一个最长上升子序列的长度&#xff0c;例如[1,4,6,2,3,5] 答案为4&#xff1a;[1,2,3,5]。 我们用DP[i]表示以下标为i的元素结尾的子序列的最长上升子序列长度 代码如下&#xff1a; ll p[10010]; ll dp[10010]; int main() {ll n, ans 0…

最长上升子序列优化

引言 上次我们说了基础的最长上升子序列&#xff08;看这一篇前可以先看一下最长上升子序列&#xff09; 这次&#xff0c;我们再说一下如何优化&#xff0c;提高效率 我们先来看一道模板题 题目&#xff1a; 题目描述 输入格式 输出格式 输入样例 3 1 3 2 输出样例 1 …

最长上升子序列(LIS)算法

LIS定义 LIS&#xff08;Longest Increasing Subsequence&#xff09;最长上升子序列 一个数的序列bi&#xff0c;当b1 < b2 < … < bS的时候&#xff0c;我们称这个序列是上升的。 对于给定的一个序列(a1, a2, …, aN)&#xff0c;我们可以得到一些上升的子序列(a…

11.最长上升子序列(LIS)

视频讲解&#xff1a;最长上升子序列_哔哩哔哩_bilibili 解题思路&#xff1a; 1.最长上升子序列的含义是从给定的数中选取尽量多的数字形成单调递增的序列 2.可以把以每一个数字形成单调结尾的方案数看待成一个子问题&#xff0c;然后对后面的子问题提供最优解 3.设定状态…

C++动态规划之最长上升子序列

1 子序列与上升子序列 1.1 子序列 一个序列A{a1,a2,...an}中任意删除若干项&#xff0c;剩余的序列叫做A的一个子序列。例如序列A{1,3,5,4,2}&#xff0c;删除其中的第3项和第5项&#xff0c;得到序列B{1,3,4}&#xff0c;删除其中的第3项和第4项&#xff0c;得到序列C{1&#…

最长上升子序列(c++图文详解)

这题思路是这样&#xff0c;假设这个序列长度为n&#xff0c;存在数组a中&#xff0c;maxlen[i]表示以第i个数为终点的最长上升子序列的长度&#xff0c;它被初始化为1&#xff0c;因为一开始单个字符的最长上升子序列都是1&#xff08;它自己&#xff09;&#xff0c;我们先用…

最长上升子序列(动态规划)

子序列 所谓的子序列就是在原来序列中找出一部分组成的序列。 与子段不同&#xff0c;不需要连续的某一段&#xff0c;但是要保持原序列的先后顺序 最长上升子序列 在子序列的基础上&#xff0c;后一项大于前一项。 【题目描述】 【输入格式】 【输出格式】 【输入样例】 1…

最长上升子序列 (LIS) 详解+例题模板 (全)

欢迎访问https://blog.csdn.net/lxt_Lucia&#xff5e;&#xff5e; 宇宙第一小仙女\(^o^)/&#xff5e;萌量爆表求带飞≡Σ((( つ^o^)つ~ dalao们点个关注呗&#xff5e; --------------------------------我只是一条可爱哒分界线------------------------------- 1.摘要&…

Import Dependency Management with Exclusion

文章来源: Import Dependency Management with Exclusion Exclusion at import won’t work, try excluding it from the actual user of the dependency 意思是&#xff1a; 在dependencyManagement里面的dependency中&#xff0c;使用exclusions&#xff0c;是不会有作用的…