Development Environment Setup

Blockchain Fundamentals Course Materials


Development Environment Setup

Let’s get set up to do blockchain development. In this tutorial we will be using Ubuntu Desktop 18.04LTS and we will install various tools and applications.

Operating System

The following was done on Ubuntu 18.04LTS

Setup Environment

  1. Update and Upgrade Ubuntu
    $ sudo apt-get update -y && sudo apt-get upgrade -y
    
  2. Install python3 virtualenv
    $ sudo apt-get install python3-pip -y
    
  3. Create a python environment and install pip modules
    $ sudo pip3 install virtualenv
    $ virtualenv blockchain_fundamentals
    $ cd blockchain_fundamentals
    $ source bin/activate
    $ pip3 install base58 ecdsa
    
  4. Install git, c++ compiler, tools and libraries, and autotools
    $ sudo apt-get install git build-essential libtool autotools-dev automake autoconf pkg-config libboost-all-dev libevent-dev gdb libssl-dev -y
    
  5. Install btcdeb for Script debugging
    $ git clone https://github.com/kallewoof/btcdeb.git && cd btcdeb
    $ ./autogen.sh
    $ ./configure
    $ sudo make install && cd ../
    
  6. Install secp256k1 library
    $ git clone https://github.com/bitcoin-core/secp256k1.git && cd secp256k1
    $ ./autogen.sh
    $ ./configure
    $ sudo make install && cd ../
    
  7. Install cpp_miner for mining
    $ git clone https://github.com/JBaczuk/cpp_miner.git && cd cpp_miner
    $ ./autogen.sh
    $ ./configure
    $ sudo make install && cd ../
    

Blockchain Fundamentals Tools

$ git clone https://github.com/JBaczuk/blockchain-dev-tools.git && cd blockchain-dev-tools
$ ./INSTALL.sh
$ cd ..
$ source bin/activate