Ubuntu18.04安装geth

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014454538/article/details/88734654
  • 自己也是个小白,只能网上找教程,然后发现教程大同小异。有的只需要安装geth就可以了,有的需要安装nodejs、git等各种软件。
  • 自己恰好由于某些原因也已经安装了,所以我只能把大家的综合一下~

1. 前期准备

① 安装git(通过源码编译的方式安装geth,需要此步骤)

这里安装git主要是为了后面能通过源码编译的方式安装geth,如果想直接通过添加以太坊官方APT源,并安装以太坊客户端的方式,可以不用安装git。

$ sudo add-apt-repository ppa:git-core/ppa
$ sudo apt-get update
$ sudo apt-get install git

通过以下命令查看git的版本,顺便验证git安装是否成功。

$ git --version

在这里插入图片描述

② 安装nodejs和npm

  • 获取最新版本nodejs
$ sudo apt update
  • 从存储库安装Node.js:
$ sudo apt-get install nodejs
  • 需要额外安装npm
$ sudo apt-get install npm 
  • 全局安装n管理器,用于管理nodejs版本
$ sudo npm install -g n 
  • 安装最新的nodejs(stable版本)
    有如下方式安装管理nodejs版本,可以按照需要选择自己合适的方式的,本人选择的是稳定版安装。
$ sudo n lts        #长期支持
$ sudo n stable     #稳定版
$ sudo n latest    #最新版
$ sudo n 8.4.0     #直接指定版本下载

安装nodejs稳定版:

$ sudo n stable

查看nodejs版本,可能需要重新打开终端才能看到版本变化。

$ node -v

在这里插入图片描述
参考链接:
ubuntu18.04下安装node
Ubuntu18安装最新版nodejs

③ 安装go(通过源码编译的方式安装geth,需要此步骤)

  • 这里主要是为了通过源码编译的方式安装geth服务的,具体的安装步骤可以参考本人以前的博客:
  • ubuntu18.04安装Go语言

④ 安装solc

solidity是以太坊智能合约的开发语言,测试智能合约、开发Dapp都需要安装。

$ sudo add-apt-repository ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install solc

查看solc版本,顺便验证solc是否安装成功。

$ solc --version

在这里插入图片描述

⑤ 安装truffle和testrpc (本人没有安装)

参考链接:
以太坊入门教程1:Ubuntu 16.04下部署以太坊环境
Ubuntu 16.04搭建以太坊开发环境

2. 安装geth

geth的全称是Go-ethereum ,是较为常用的一个以太坊用go语言开发的客户端。

扫描二维码关注公众号,回复: 5621936 查看本文章
① 以APT的方式安装(强烈建议使用这种方式快速安装)

添加以太坊官方APT源,并安装以太坊客户端。

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install ethereum

当新版本geth发表后,可直接通过APT完成geth版本升级。

$ sudo apt-get update
$ sudo apt-get upgrade

② 源码编译安装

从github上获取go-ethereum源码,然后编译geth。

$ git clone https://github.com/ethereum/go-ethereum.git
$ cd go-ethereum/
$ sudo make geth

有的博主说如果没有安装go,最后一步会报错。

parallels@parallels-vm:~/go-ethereum$ sudo make geth
build/env.sh go run build/ci.go install ./cmd/geth
build/env.sh: 30: exec: go: not found
Makefile:15: recipe for target 'geth' failed
make: *** [geth] Error 127
  • 查看geth版本,顺便验证geth安装是否成功。
$ geth version

在这里插入图片描述

③ 通过docker安装

具体参考博客:ubuntu16.04安装以太坊并运行

3. 运行

① 在以太坊公有链上运行一个全节点

# 加上console 表示启动后,启用Geth JavaScript命令行
$ geth --cache=512 --datadir "/home/hadoop/eth/public_net" console 

运行结果截图:
在这里插入图片描述
以上命令会有很多日志输出,可以在命令末尾指定将log输出到eth.log

$ geth --cache=512 --datadir "/home/hadoop/eth/public_net" console --dev 2>>/home/hadoop/eth/public_net/eth.log

在这里插入图片描述

② 在以太坊测试网络上运行一个全节点
 $ geth --testnet --cache=512 --datadir "/home/hadoop/geth/test_net" console

或者将日志输出到eth.log文件:

$ geth --testnet  --cache=512 --datadir "/home/hadoop/eth/test_net" console --dev 2>>/home/hadoop/eth/test_net/eth.log

附加参考链接:
Ubuntu18.04下安装geth
Ubuntu下以太坊客户端的编译、安装和运行

猜你喜欢

转载自blog.csdn.net/u014454538/article/details/88734654