A portable development level Indy Node network.
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.
-
First, install Docker. Download the installer for your operating system here. Once it is installed, keep the Docker daemon running in the background.
-
Linux users will also need to install docker-compose. Mac and Windows users will have this already.
-
Once Docker has been installed, open a terminal session and clone this repository:
git clone <repository url> von-network
- Move to the new directory:
cd von-network
- Now you can build the Dockerfile into an image which we will use to run containers (this process will take several minutes):
./manage build
- Once the build process completes, you can test the build to make sure everything works properly:
./manage start
- ubuntu 16.04
- at least 1GB RAM
- accepting incoming TCP connections on ports 9701-9708
- root access
- Install unzip utility:
# Requires root privileges
apt install unzip
- 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
- 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/
- Map service port to 80 in docker-compose.yml
Change
ports:
- 9000:8000
to
ports:
- 80:8000
- Build the Docker container:
./manage build
- Run the network of nodes:
# This command requires the publicly accesible ip address of the machine `public_ip_address`
./manage start public_ip_address &
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.
Running BCovrin also runs a thin webserver to expose some convenience functions:
The genesis transaction record required to connect to the node pool is made available at:
<ip_address>/genesis
The node pool can have a trust anchor write a did for you — available in the UI.