BOS Installation

Installation of bos-auto

In this first step, we'll install everything we'll need going forward.

Install Dependencies

circle-exclamation
apt-get install libffi-dev libssl-dev python-dev python3-dev python3-pip libsecp256k1-dev
pip3 install virtualenv
circle-info

Tip: virtualenv is a best practice for python, but installation can also be on a user/global level.

Install MongoDB

MongoDB is used for persistent storage within BOS.

Installing MongoDBchevron-right

For additional information on how to use MongoDB refer to tutorials on your distribution.

triangle-exclamation

Install Redis

Redis is used as an asynchronous queue for the python processes in BOS.

Installing Redischevron-right

For additional information on how to install Redisdb refer to your Linux distribution.

triangle-exclamation

Starting MongoDB and Redis Daemons

It is highly recommended that both daemons are started on start-up.

To start the deamons, execute

triangle-exclamation

Installing bos-auto

circle-exclamation

You can either install bos-auto via pypi / pip3 (production installation) or via git clone (debug installation).

For production using install bos-auto via pip3 is recommended, but the git master branch is always the latest release as well, making both installations equivalent. Recommended is a separate user.

For debug use, checkout from Github (master branch) and install dependencies manually.

BOS auto is supposed to run in the virtual environment. Either activate it beforehand, as above, or run it directly in the env/bin folder.

triangle-exclamation

Upgrading bos-auto

For production installation, upgrade to the latest version - including all dependencies using:

For debug installation, pull latest master branch and upgrade dependencies manually

Configuration of bos-auto

Next we need to go through the steps required to setup bos-auto properly.

Configuration of bos-autochevron-right

Spinning Up bos-auto

After bos-auto configuration we need to spin-up bos-auto to see if it works properly.

Spinning Up bos-autochevron-right

Manual Intervention (MINT)

Bos-mint is a web-based manual intervention module that allows you to work with all sorts of manual interactions with the blockchain.

For more information see:

Manual Intervention Tool (MINT)chevron-right

Monitoring bos-auto

The isalive call should be used for monitoring. The scheduler must be running, and the default queue a low count (< 10).

Here is an example of a positive isalive check:

Configuration

The default configuration looks like the following and is (by default) stored in config.yaml:

Both, the API and the worker make use of the same configuration file.

We need to provide the wallet pass phrase in order for the worker to be able to propose changes to the blockchain objects according to the messages received from the data feed.

Command Line Tool

Schema

The messages sent to the API need to follow a particular message schema which is defined in endpointschema.py

Last updated

Was this helpful?