Connecting Quorum 7 Node to Epirus

Nico Zahniser
Exploring the Blockchain
4 min readAug 24, 2019

As we start off exploring more into the realms of blockchain, we need to understand that most on-chain development or deployment uses the terminal for the UI.

That means ingesting a lot of information via the terminal. We live in the post-modern dial-up, the least we can do is provide some good visuals to make sense of all the data.

I think exploring ways in which to actual view the data on/off-chain is vital to understanding the full dimensions of the ability of ‘the blockchain + distributed ledger technology’.

In the Summer of June 2017, JP Morgan launched a fork of Ethereum called, Quorum.

Let’s Start with Quorum. What is it?

In Summer of June 2017, JP Morgan launched a fork of Ethereum called, Quorum.

“Based on Ethereum, Quorum is an open source blockchain platform that combines the innovation of the public Ethereum community with enhancements to support enterprise needs.

Our mission is to make adopting blockchain a seamless process. We’re not just a platform — we provide full-service support.” -GoQuorum

We are going to deploy a UI that will allow us to see the interactions on/off-chain.

What in the name is Epirus?

Well a quick Wikipedia search says,

“Epirus, is a traditional geographic and modern administrative region in northwestern Greece.”

For this example the best way to remember it is think of it as the bridge to you and your blockchain data, contract creation, and asset tracking.

Epirus is an interface that allows you to interact with your blockchain assets, that you deploy to the Quorum. First, in order to interact with Epirus you have to deploy a Quorum Node, the one we are going to use today is called 7nodes.

Let’s get the basics to run this on our computers.

Setting up Vagrant

  1. Install VirtualBox
  2. Install Vagrant
  3. Download and start the Vagrant instance (note: running vagrant uptakes approx 5 mins):
git clone https://github.com/jpmorganchase/quorum-examples
cd quorum-examples
vagrant up
vagrant ssh

4. To shutdown the Vagrant instance, run vagrant suspend. To delete it, run vagrant destroy. To start from scratch, run vagrant up after destroying the instance.

Connecting Epirus to Quorum 7 Node Example

Get Quorum 7 node example

git clone https://github.com/jpmorganchase/quorum-examples
cd quorum-examples
docker-compose up
You should see this in your terminal

Set up Epirus-Free

git clone https://github.com/blk-io/epirus-free.git
cd epirus-free

You need to make some minor changes to the docker-compose.yml file so that epirus can connect a running node.

Change the networks name property from epirus-net to quorum-examples-net in the networks settings:

sed -i 's/name: epirus-net/name: quorum-examples-net/g' docker-compose.yml

The networks property should now looks like this:

networks:
epirus:
name: quorum-examples-net
driver: bridge
ipam:
driver: default
config:
- subnet: 172.16.239.0/24

Now you can start epirus with the following command.

NODE_ENDPOINT=http://172.16.239.11:8545 docker-compose up

Note: we are connecting to node 1 — you will only see private transactions for that node.

You should see the following happening in the terminal window. This means that everything has started successfully.

Note: The logs are verbose and you will see various errors before all services are started. The important logs to look at are on the api. You can access them with the following

docker-compose logs -f api

Navigate to localhost and you should see the loading page:

This may to several minutes for Epirus to be displayed, (MacBook Pro ~ 20+ minutes).

This should now show up in your browser when you go to localhost;if you click on blocks you will see this same UI.

To close Epirus or Quorum you can execute the following line in your terminal:

docker-compose down

For more information check out the GitHubs:

https://github.com/blk-io/epirus-free/blob/master/examples/Quorum_Example.md

--

--