Ubuntu下配置和編譯cpp-ethereum客戶端


  Ethereum,中文翻譯是“以太坊”,是一個公有區塊鏈的開源項目。因為以太坊是基於P2P網絡所以沒有中心節點,所以用戶僅安裝Ethereum客戶端即可連入Ethereum公共網絡或者在自己的testnet下運行Ethereum。

  以太坊客戶端有很多語言的版本。

  本文選用的是C++版本。配置過程如下:

  參考:http://ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/index.html#installing-and-building

  環境:Ubuntu15.10 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

  2. 安裝Mix IDE(可選)

sudo apt-get install mix-ide
mix-ide

  3. 獲取源碼

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

  這個工程中可能會因為網絡原因模塊下載出錯。一種比較笨的辦法是刪除下載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
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
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 //官方教程中這一步會更新系統,去掉此命令
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-dev

sudo apt-get -y install libjsonrpccpp-dev
sudo apt-get -y install qml-module-qtquick-controls qml-module-qtwebengine

  5. 編譯

mkdir build
cd build
cmake ..
make
(or)
make -j <number> //Execute makefile with multiple cores in parallel

  6. 測試

  在終端運行eth命令就會開始啟動cpp-ethereum客戶端

namenode@namenodeIn1035:~/Code/ethereum$ eth

(忘截圖了,用下載區塊的圖代替吧-_-)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM