Connecting Quorum 7 Node to Epirus
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
- Install VirtualBox
- Install Vagrant
- Download and start the Vagrant instance (note: running
vagrant up
takes 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
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