Refer to https://github.com/omisego/xomg-vagrant.
NOTE: Currently the child chain server and watcher are bundled within a single umbrella app.
Only Linux platforms are supported now. These instructions have been tested on a fresh Linode 2048 instance with Ubuntu 16.04.
- Erlang OTP
>=20
(check withelixir --version
) - Elixir
>=1.6
(check withelixir --version
) - Python
>=3.5, <4
(check withpython --version
) - solc
>=0.4.24
(check withsolc --version
)
sudo apt-get update
sudo apt-get -y install build-essential autoconf libtool libgmp3-dev libssl-dev wget git
Add the Erlang Solutions repo and install
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install -y esl-erlang
sudo apt-get -y install elixir
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get -y install geth
sudo apt-get -y install python3-pip
This step is optional but recommended to isolate the python environment. Ref
sudo pip3 install virtualenv
virtualenv DEV
source DEV/bin/activate
sudo apt-get install libssl-dev solc
mix do local.hex --force, local.rebar --force
git clone https://github.com/omisego/elixir-omg
# contract building requires character encoding to be set
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
pip3 install -r contracts/requirements.txt
cd elixir-omg
mix deps.get
For a quick test (with no integration tests)
mix test
To run integration tests (requires compiling contracts and not having geth
running in the background):
mix test --only integration