Star: Ubuntu下配置和编译cpp-ethereum客户端启动GPU加速交易

2024-02-02 13:08

本文主要是介绍Star: Ubuntu下配置和编译cpp-ethereum客户端启动GPU加速交易,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Ubuntu下配置和编译cpp-ethereum客户端启动GPU加速交易

Ethereum,中文翻译是“以太坊”,是一个公有区块链的开源项目。因为以太坊是基于P2P网络所以没有中心节点,所以用户仅安装Ethereum客户端即可连入Ethereum公共网络或者在自己的testnet下运行Ethereum。

以太坊客户端有很多语言的版本。 
这里写图片描述 
本文选用的是C++版本。配置过程如下: 
参考:http://ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/index.html#installing-and-building 
环境:Ubuntu16.04 x64 
1.安装“eth”命令行工具

sudo add-apt-repository ppa:ethereum/ethereum-qt
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install cpp-ethereum
  • 1
  • 2
  • 3
  • 4

2.安装Mix IDE(可选)

sudo apt-get install mix-ide
mix-ide
  • 1
  • 2

3.获取源码

git clone --recursive https://github.com/ethereum/webthree-umbrella.git
  • 1

这个工程中可能会因为网络原因模块下载出错。一种比较笨的办法是删除下载webthree-umbrella目录,重新运行上面git clone命令 
4. 配置编译环境

sudo apt-get -y update
sudo apt-get -y install language-pack-en-base
sudo dpkg-reconfigure locales
sudo apt-get -y install software-properties-common
  • 1
  • 2
  • 3
  • 4
sudo add-apt-repository "deb http://llvm.org/apt/wily/ llvm-toolchain-wily-3.7 main"
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get -y update
sudo apt-get -y install llvm-3.7-dev
  • 1
  • 2
  • 3
  • 4
sudo add-apt-repository -y ppa:ethereum/ethereum-qt
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get -y update
//sudo apt-get -y upgrade //官方教程中这一步会更新系统,去掉此命令
  • 1
  • 2
  • 3
  • 4
  • 5
sudo apt-get -y install build-essential git cmake libboost-all-dev libgmp-dev \libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev \libcurl4-openssl-dev libcryptopp-dev libmicrohttpd-dev libjsoncpp-dev \libargtable2-dev libedit-dev mesa-common-dev ocl-icd-libopencl1 opencl-headers \libgoogle-perftools-dev qtbase5-dev qt5-default qtdeclarative5-dev \libqt5webkit5-dev libqt5webengine5-dev ocl-icd-dev libv8-dev libz-devsudo apt-get -y install libjsonrpccpp-dev
sudo apt-get -y install qml-module-qtquick-controls qml-module-qtwebengine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

5.编译

mkdir build
cd build
cmake ..
make
(or)
make -j <number> //Execute makefile with multiple cores in parallel
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6.测试 
在终端运行eth命令就会开始启动cpp-ethereum客户端

namenode@namenodeIn1035:~/Code/ethereum$ eth
  • 1

7.之前在我的区块链开发(一)文章中将讲过如何安装geth客户端,现在就不讲如何安装geth客户端了,有兴趣的朋友查看我之前的文章。这里我们讲一下 配合使用ethminer和geth 实现GPU挖矿,目的是有些建立的私链,由于交易量增多,geth客户端的挖矿,只适合CPU,速率很低,我们为了提高交易速度,选择GPU提高交易速度。

7.1.启动geth客户端

>geth --datadir "./" --rpcport 8545 --rpcaddr "127.0.0.1" console 2>geth.log
  • 1

7.2启动ethminer使用GPU挖矿

ethminer -G // -G for GPU, -M for benchmark
  • 1

7.3.查看log文件

>tail -f geth.log
  • 1

2018年2月1日整理。

这篇关于Star: Ubuntu下配置和编译cpp-ethereum客户端启动GPU加速交易的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/670799

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc