以太坊学习3:以太坊客户端编译安装(geth和ethereumj)

客户端安装(Windows)

基础工具下载安装(系统管理员身份运行Cmd)

Geth客户端

  • go语言运行环境搭建
choco install golang
  • MinGW编译器安装
choco install mingw
  • 源代码下载(geth)
git clone https://github.com/ethereum/go-ethereum go-ethereum
  • 编译、安装geth
go install go-ethereum
  • 验证
geth version

ethereumj客户端

  • 安装JDK1.8

  • 下载ethereumj源代码

git clone https://github.com/ethereum/ethereumj
  • 编译生成可执行文件(Jar)
./gradlew clean shadowJar
  • 验证
java -jar ethereumj-core/build/libs/ethereumjcore-*-all.jar --help

客户端安装(Linux)

基础工具下载安装

  • Git版本控制工具:sudo apt-get install git

Geth客户端

  • go语言运行环境搭建
sudo apt-get install golang-1.9
  • 编译器安装
sudo apt-get install build-essential
  • 源代码下载(geth)
git clone https://github.com/ethereum/go-ethereum
  • 编译、安装geth
cd go-ethereum
make geth
  • 验证
build/bin/geth version

ethereumj客户端

安装JDK1.8

下载ethereumj源代码

git clone https://github.com/ethereum/ethereumj

编译生成可执行文件(Jar)

./gradlew clean shadowJar

验证

java -jar ethereumj-core/build/libs/ethereumjcore-*-all.jar --help

客户端安装(Mac)

基础工具下载安装

  • Git版本控制工具 命令:brew install git

Geth客户端

  • go语言运行环境搭建
brew install go
  • 源代码下载(geth)
git clone https://github.com/ethereum/go-ethereum
  • 编译、安装geth
cd go-ethereum
make geth
  • 验证
build/bin/geth version

ethereumj客户端

  • 安装JDK1.8

  • 下载ethereumj源代码

git clone https://github.com/ethereum/ethereumj
  • 编译生成可执行文件(Jar)
./gradlew clean shadowJar
  • 验证
java -jar ethereumj-core/build/libs/ethereumjcore-*-all.jar --help

Geth源代码目录结构(部分)

目录名称 功能说明
init 控制台(JavaScript解释运行时环境)的实现
core 以太坊核心包,实现了以太坊共识协议。
梅克尔树 (Merkle tree),数据结构定义,以太坊虚拟机 (Ethereum Virtual Machine)
crypto 加密算法实现包
ethdb LevelDB的再次封装
mine 实现了区块的生成以及挖矿
net 通信模块,涵盖以下功能模块:节点通信管理、P2P 通信、
全节点同步、快速同步报文、P2P通信
vm EVM(以太坊虚拟机)模块

ethereumj源代码目录结构(部分)

目录名称 功能说明
config 配置管理(节点、网络通信、区块、交易等)模块
core 核心模块,涵盖账户、交易、区块、共识机制的数据 结构和实现逻辑等
crypto 加密算法实现包
datasource 数据源模块,LevelDB、缓存
mine 挖矿模块,涵盖共识算法、区块生成等
p2p p2p网络协议实现
vm EVM(以太坊虚拟机)模块
上一篇 以太坊学习2:以太坊简介
下一篇 以太坊学习4:以太坊常用功能简介
目录
文章列表
1 OpenSSL秘钥操作总结
OpenSSL秘钥操作总结
2
Android NDK基础23:C++_类型转换_IO流_对象持久化
Android NDK基础23:C++_类型转换_IO流_对象持久化
3
JS遍历对象、map及数组
JS遍历对象、map及数组
4
Android 软键盘弹出时把控件布局顶出去的解决方法
Android 软键盘弹出时把控件布局顶出去的解决方法
5
GnuPG基本使用记录
GnuPG基本使用记录
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。