MELLIFERA Services

About

We validate testnets and mainnets with enthusiasm, monitoring our nodes for the best service possible. We are always on the hunt for new knowledge to help build a decentralized future

Here you can find services that we provide.

Website (opens in a new tab) Telegram (opens in a new tab) GitHub (opens in a new tab) Email

How our services work

  1. Ansible playbook is our internal playbook to install and configure the node.
  2. Storage is the place where we store the snapshots and other data (Addrbook, Snapshots, prebuild binaries etc).
  3. Service API aggreagates data from Storage and Ansible playbook
  4. CRUN is a simple command line tool to spin up a blockchain node. Based on our internal playbook.
  5. Monitoring listens to Service API and if data does not change for N time, fires an alert that something is wrong.
  6. Service page is a page where you can find snapshots RPC and other services we provided.

The flow looks like this:

The proccess is fully automated and doesn't require any human intervention.

  1. Ansible playbook is executed and installs the node from snapshot or state sync. Every 6 hours it runs once from snapshot and next time from state sync. This process is cyclic and repeats every 6 hours automatically. Alternation needs to be sure that both methods are working correctly.
  2. After node is installed and synced, archived snapshot is uploaded to the storage.
  3. Service API collects data from storage with last update time and snapshot size.
  4. Also, Service API collects data from Ansible playbook to save info with what params node was successfully installed. This way we can be sure that our services such as peers, seeds, addrbook, snapshots, state sync rpc and state sync peers are working correctly.
  5. This data is collected by Service api and displayed on the Service page.
  6. If snapshot doesn't update for more than 6 hours, monitoring service will send alert to the team. This indicates that configuration in our ansible playbook is wrong and we need to fix it. That also means that our services are not working correctly and we need to fix it as soon as possible.

Using this approach we can be sure that our services work perfectly because we ensured that node is installed correctly and our playbook configuration is correct. This help us to provide the best service possible and keep working playbook to ready redeploy node in no time.

As a bonus we can provide CRUN (opens in a new tab)- utility for our users to install node with one command, this tool is based on our internal playbook and the rules above apply to this tool as well to ensure that node will be installed correctly.