Skip to content

mitovskaol/von-network

 
 

Repository files navigation

VON Network

A portable development level Indy Node network.

Quick Start Guide

A Quick Start Guide for a working set of applications is maintained here; Running a Complete Provisional VON Network. This is a great way to see the VON Network component in action.

Running the Network Locally

  1. First, install Docker. Download the installer for your operating system here. Once it is installed, keep the Docker daemon running in the background.

  2. Linux users will also need to install docker-compose. Mac and Windows users will have this already.

  3. Once Docker has been installed, open a terminal session and clone this repository:

git clone <repository url> von-network
  1. Move to the new directory:
cd von-network
  1. Now you can build the Dockerfile into an image which we will use to run containers (this process will take several minutes):
./manage build
  1. Once the build process completes, you can test the build to make sure everything works properly:
./manage start

Running the Network on a VPS

Requirements

  • ubuntu 16.04
  • at least 1GB RAM
  • accepting incoming TCP connections on ports 9701-9708
  • root access
  1. Install unzip utility:
# Requires root privileges
apt install unzip
  1. Install Docker and Docker Compose:
curl -fsSL get.docker.com -o get-docker.sh
# Requires root privileges
sh get-docker.sh
curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
  1. Download this repository:
curl -L https://github.com/bcgov/von-network/archive/master.zip > bcovrin.zip && \
    unzip bcovrin.zip && \
    cd von-network-master && \
    chmod a+w ./server/
  1. Map service port to 80 in docker-compose.yml

Change

    ports:
      - 9000:8000

to

    ports:
      - 80:8000
  1. Build the Docker container:
./manage build
  1. Run the network of nodes:
# This command requires the publicly accesible ip address of the machine `public_ip_address`
./manage start public_ip_address &

Connecting to the Network

With the CLI

Once the nodes are all running and have connected to each other, you can run the Indy client to test the connection in a separate terminal window:

./manage cli

If you want to connect to a remote indy-node pool, you can optionally supply an ip address. (Currently only supports a test network running on a single machine with a single ip address.)

./manage cli <ip address>

The Indy CLI should boot up and you should see the following:

Indy-CLI (c) 2017 Evernym, Inc.
Type 'help' for more information.
Running Indy 1.1.159

indy>

Now connect to our new Indy network to make sure network is running correctly:

pool connect sandbox

What you should see is:

indy> pool connect sandbox
Pool "sandbox" has been connected

If you see this, congratulations! Your nodes are running correctly and you have a connection to the network.

Extra Features for Development

Running BCovrin also runs a thin webserver to expose some convenience functions:

Genesis Transaction Exposed

The genesis transaction record required to connect to the node pool is made available at:

<ip_address>/genesis

Write new did for seed

The node pool can have a trust anchor write a did for you — available in the UI.

About

A portable development level Indy Node network.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 35.5%
  • HTML 26.6%
  • JavaScript 16.3%
  • Shell 12.8%
  • CSS 8.2%
  • Dockerfile 0.6%