Get Started With Eris In Three Easy Steps
There are three steps need to get moving with Eris:
- Install the Eris platform.
- Roll your own Blockchain in seconds.
- Build (and run) your distributed application using smart contract templates and a simple, web-based user interface.
Step 1: Install the Eris Platform
Dependencies: eris
has 1 dependency: Docker. Docker is a run anywhere container solution which makes development, deployment, testing, and running of distributed applications a breeze.
Currently we consider the most workable setup to be (what our tests consider authoritative). We are working steadily toward making eris available for a wide variety of host environments.
- HOST_OS = UBUNTU:14.04
- DOCKER = 1.9.1
Install Docker.
Installation requires that Docker be installed. Please see the Docker documentation for how to install.
At the current time, eris
requires docker
>= 1.8.0. You can check your docker version with docker version
. We do not test against older versions of docker. eris
may or may not work against earlier versions of docker and we can make no guarantees of usability there.
Docker Installation for Linux
Follow the link above for the official way to install Docker on your Linux box.
Essential! After you install docker, then you must make sure that the user you are using to develop with eris
has access to the docker socket (which is accessible via the docker Linux usergroup). When you are logged in as the user you can do this:
sudo usermod -a -G docker $USER
That command will add the current user to the docker group which will mean that docker will not need to be called from sudo
.
After you run that command, then please log out of the current shell and open a new shell. After that eris
will then be able to connect to docker.
The above command may be skipped, but if you do, then you will need to run all eris
commands either as the root user or using sudo
.
Note Docker does not run on 32bit architecture. If you are using a Linux box, please make sure it is 64bit architecture.
Docker Installation for OSX & Windows
If you are on OSX or Windows, the Docker Toolbox is a graphical way of installing Docker, Virtualbox and Docker Machine. The Toolbox will build all of the functionality which Docker requires so that eris
is able to connect into the Docker daemon.
Note that the Docker Toolbox will install VirtualBox by default. Because Docker runs by connecting into a Linux kernel, Docker only runs on Linux OS’s at this time. While Docker is reportedly working on native solutions for other operating systems, at this time a Linux operating system is required.
By default the Docker Toolbox will use VirtualBox to create a very minimal Linux virtual machine with the Docker daemon preinstalled. The toolbox will install Docker-Machine which is used to start, stop, reboot, remove, etc. virtual machines via VirtualBox’s API.
eris
has been built to be able to connect into the Docker daemon running within a VirtualBox minimal Linux virtual machine by default and without any effort on your part (other than installing the Docker Toolbox).
If virtualbox gives you trouble, then use docker machine’s plugins and create your eris
machine in the cloud.
OSX Only
If you’re a brew and brew cask user then:
brew cask install virtualbox
brew install docker docker-machine
Windows Only
N.B. No matter whether you follow the below or not, you’ll want to run eris commands either from git bash
or from the Docker Quickstart Terminal
(which is really just git bash
) window. While most commands will work from the cmd
terminal, it is much more complicated to get right. All the tutorials will assume that you are using the Docker Quickstart Terminal
and are structured to support only that environment.
If you’re a chocolatey user then:
choco install virtualbox docker docker-machine
All Platforms
Make sure that everything is setup with Docker by running:
docker version
Note you will need to make sure that you perform the above command for the user which will be running eris.
Install Eris
eris
can be easily installed using our convenient binary releases.
We distribute binaries via our Github Releases Page. You will simply need to download the proper zip or tarball for your architecture and then extract that into a place in your PATH
.
apt-get installation
We have (beta) apt-get
support for most current versions of Debain and Ubuntu. If you wish to use apt-get to install eris
then you will simply perform the following:
Note in the above command you must replace DIST
with the distribution codename for your version of Debian or Ubuntu (vivid, trusty, jessie, etc.). We intend to make this easier in coming releases. We do not use the major-minor distribution pattern (e.g., ubuntu-trusty
) as Docker does, but rather we just use (trusty
) as the DIST codename.
Once the apt repository is added to your sources then:
sudo apt-get update
sudo apt-get install eris
yum installation
We now have (experimental) yum
support for most current versions of Fedora, CentOS, RHEL, etc. If you wish to use yum to install eris
then you will perform the following:
Yum support is still quite experimental, so please do not rely on it, but please do let us know any issues you have with the installation and we will make sure to address those as quickly as we can.
Building From Source
If you would like to build from source see our documentation.
All Platforms
Check that everything installed correctly with:
eris init
Troubleshooting Your Install
If you have any errors which arise during the installation process, please see our trouble shooting page or visit our support forums
Step 2: Roll Your Own Blockchain in Seconds
If you want to create your blockchain it is very easy.
eris services start keys
eris chains make test_chain --chain-type simplechain
eris chains new test_chain
That test_chain
can be whatever name you would like it to be. This simple command will create a permissioned, smart contract enabled blockchain suitable for testing.
To check that your chain is running type:
eris chains ls
Stop and remove your chain:
eris chains stop -rxf test_chain
Obviously, you will want an ability to make chains which you properly parameterize. As such you can always type:
eris chains new --help
To see the various ways which you can give to chains new for it to be instantiated properly.
Eris does not only work with permissioned smart contract networks. It works just as well with existing blockchains. Want to run bitcoin?
eris services start btcd
Want to run ethereum?
eris services start eth
That’s it. Your chain is rolled!
Step 3: Build (and run) your Distributed Application
Let’s remove all of the eris “stuff” before we move on to the next portion of the tutorials:
eris clean
Now you’re ready to build and run your distributed application!
There are a lot of ways you can go from here!
To continue this getting started tour please see our next tutorial in this series on Making Your Own Permissioned Chain.
Please go here if you are interested in learning about smart contracts.
Please go here if you are interested in learning more about blockchains.