Setup Hyperledger Indy Pool in Ubuntu

Prerequisites

  • Virtual Machine with Ubuntu 16.04 OS.
  • Open Ports 9701–9708.
  • Root privileges on the VM.
  • Internet access to download libraries & docker images.

Steps to Install Indy Pool

  1. Getting Started
  2. Install Rust for compilation.
  3. Update & Install packages.
  4. Install Docker for container support.
  5. Build & Install libsodium.
  6. Get indy-sdk source from github.
  7. Build libindy.
  8. Build & Run indy_pool docker container.
  9. Build cli .
  10. You are Ready!!

Getting started

Login to your virtual machine terminal and assume root privileges. Also fetch updates and install required libraries

sudo su -

Install Rust for compilation

curl https://sh.rustup.rs -sSf | sh
At the prompt Choose option 1 to Install

Reboot after installation

reboot

Update & Install Packages

apt-get update
apt-get install -y \
build-essential \
pkg-config \
cmake \
libssl-dev \
libsqlite3-dev \
libzmq3-dev \
libncursesw5-dev

Install Docker

apt install docker.io

Confirm docker version (in our case it was version 18.09.7, build 2d0083d)

docker --version

Build & Install libsodium

cd /tmp#download and install libsodium library
curl https://download.libsodium.org/libsodium/releases/old/unsupported/libsodium-1.0.14.tar.gz | tar -xz

chmod 777 -R libsodium-1.0.14/
cd /tmp/libsodium-1.0.14#build and install library
./configure --disable-shared && \
make && \
make install
#removed downloaded package
rm -rf /tmp/libsodium-1.0.14

Get indy-sdk from github repository

cd /opt
git clone https://github.com/v13s/indy-sdk.git

Build libindy

cd ./indy-sdk/libindy
cargo build

Build & Run indy_pool docker container

cd /opt
chmod 777 -R indy-sdk/
cd indy-sdk
docker build -f ci/indy-pool.dockerfile -t indy_pool .
docker run -itd -p 9701-9708:9701-9708 indy_pool

Check if indy_pool docker container is up and running

docker ps

Build cli for indy-sdk

cd /opt/indy-sdk/libindy#run cargo test for libindy. This takes a while
RUST_TEST_THREADS=1 cargo test
#build 'cli'
cd ../cli
RUSTFLAGS=" -L ../libindy/target/debug" cargo build
#you should get a message like
#Finished dev [unoptimized + debuginfo] target(s) in Xm XXs
#add the libindy to the path
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/indy-sdk/libindy/target/debug" >> ~/.bashrc
sudo ldconfig
source ~/.bashrc

You are ready!!

#To run indy cli
cd /opt/indy-sdk/cli/target/debug
./indy-cli

--

--

--

Emerging Technologies Architect/Evangelist with credentials in Blockchain, Virtual Asssitant, Data Analytics & Computer Vision. LinkedIn: http://bit.ly/viKram

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

How to automatize your server w/Ruby?

A new python web framework you need to use

Custom metric on Datadog with Python

Spring Boot Admin: Initiation

How did that weird bug come in the code

Best Certifications to Learn DevOps in 2021

Best DevOps Certification in 2021 — DevOpsUniversity.org

Traffic Management for Knative Services

My Top 5 Announcements at AWS Re:Invent 2017

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Vikram Sharma

Vikram Sharma

Emerging Technologies Architect/Evangelist with credentials in Blockchain, Virtual Asssitant, Data Analytics & Computer Vision. LinkedIn: http://bit.ly/viKram

More from Medium

SECRET — HACK THE BOX

Node.js File System

TryHackMe- Undiscovered Writeup

Lets Get WSO2 Identity Server Configured on AlmaLinux OS.