Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Documentation on the deployment of the Blockvisor Stack

License

blockjoy/platform

Repository files navigation

Blockvisor Stack

Overview

The Blockvisor stack enables simple configuration, management, and replication of blockchain protocol deployments. It offers several key advantages:

  • Code-defined nodes ensuring consistent and repeatable deployments
  • Resource isolation by organizations, users, and nodes
  • Flexible deployment options including private data centers and bare metal servers

Architecture

BV Architecture

The stack consists of four main components:

1. Blockvisor API

Centralized service that manages and provides access to all metadata and information about:

  • Protocols
  • Running nodes
  • Host machines
  • Users and organizations

2. Blockvisor

A daemon that runs on each host and communicates with the API either directly or through MQTT topics. It enables the management and coordination of nodes in the stack.

3. Blockvisor Protocols

Definitions imported into the API that specify:

  • Node runtime parameters
  • System requirements (memory, CPU, disk, firewall settings)
  • Custom protocol configurations
  • Additional custom applications that can run alongside protocol clients

4. Blockvisor Frontend

User interface for interacting with the API that provides:

  • Node management
  • Organization setup and user assignment
  • Host onboarding information

Deployment

Quick Start Guide

Requirements

  • docker
  • docker compose
  • git

Quick Start Deployment

The following steps will deploy the Blockvisor stack in to a development ready environment.

  1. Checkout the docs repo

include all the submodules too

git clone --recurse-submodules https://github.com/blockjoy/blockvisor-docs.git
cd blockvisor-docs
  1. Start the main stack

start and build all components

docker compose up --build -d
  1. Initialize the database with Roles, Users and a dev Region

This will create an initial admin user and non-admin user with the password you define

docker compose run init
[+] Creating 2/2
 ✔ Container blockvisor-docs-database-1  Running                                                                                                                                                                                                                                                                               0.0s
 ✔ Container blockvisor-docs-api-1       Running                                                                                                                                                                                                                                                                               0.0s
[+] Running 1/1
 ✔ Container blockvisor-docs-database-1  Healthy                                                                                                                                                                                                                                                                               0.5s

Enter your email: [email protected]
Enter your first name: demo
Enter your last name: admin
Enter your password:

***Initial User Set is Complete***

----------Credentials----------
Admin User: 		[email protected]
Non-Admin User: 	[email protected]
Both user passwords are set to what you defined.
The Blockvisor stack setup is complete.  You can now access it at http://<server_ip>
  1. Stack setup is now complete. Should now be able to login to the UI with the credentials you provided at the IP of your server or localhost.

Login Page

What have we installed? This has deployed all the required services to run the blockvisor stack. Including: blockvisor-api, blockvisor-web, a single blockvisor host, a postgres database, a local mqtt broker (emqx), the necessary proxies for the services, as well as an observability stack (prometheus, opentelemetry, loki, tempo, and grafana).

Some helpful links:

  • UI: http://<server_ip>
  • Grafana: http://<server_ip/grafana (admin/admin)
  • EMQX UI: http://<server_ip>:18083 (admin/public)

🚨 If you want to redeploy the blockvisor stack, you will need take the following steps 🚨

  1. Bring the stack down
docker compose down
  1. Cleanup temp files
rm setup/success
  1. Now you can redeploy a fresh stack.

Next Steps

Great, so now you have the Blockvisor stack up and running and ready for testing and development. The next items to consider:

  1. Setup your local machine for bv development: Link
  2. Building your own node image: Link
  3. Publishing your protocol image to your API: Link
  4. Adding additional blockvisor hosts: Link

Deep Dive

If you want to deep dive in to the code, how things work, or want more details you can checkout the documentation and code in each of the following repos for the four main components:

  • Blockvisor API: Link
  • Blockvisor Web App: Link
  • Blockvisor Daemon: Link
  • Blockvisor Protocols: Link

About

Documentation on the deployment of the Blockvisor Stack

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •