Running the BVS
Last updated
Was this helpful?
Last updated
Was this helpful?
This guide will walk you through running your own BVS by utilizing our Hello World BVS example.
The Hello World BVS requires a few components from your system. This guide assumes you are using a common Linux distribution with systemd as the init system. If you're using a different setup, we assume you already possess the necessary knowledge to configure your environment appropriately.
Golang compiler
Working Redis server (By default, the BVS expects it on localhost:6379
. However, please feel free to use other addresses and change the configuration accordingly).
git
For and other -based system run:
For based systems, run:
For and other based systems:
After installing Redis, you can start the service using the following command:
It's advisable to check if Redis has started correctly. You can do this by running the following command:
You should see the status as active (running)
, and it should indicate that it is listening on port 6379.
After installing Redis, you can start the service using the following command:
It's advisable to check if Redis has started correctly. You can do this by running the following command:
You should see the status as both loaded and running
Clone the repository and cd
into it.
You should firstly edit go.mod
in devnet-hello-world-bvs
to your cloned satlayer-api
lib path:
Now, start each component in the following sequence.
Each program folder contains a env.toml
file, which stores configuration for the off-chain programs. To make the Hello World program run successfully, modify your env.toml
to point towards your account and use the os
keyring backend.
First, run the task monitor. In this example BVS, the monitor continuously tracks and updates the status for display. While this service is not technically required for a BVS, it is useful during development.
This will initiate the monitor, allowing you to see real-time updates and statuses as tasks are processed in your Hello World BVS.
Next, run the off-chain process. This program listens for tasks to perform the desired computation.
Afterwards, you can run the Aggregator, which collects results from the above off-chain process and submits to the blockchain.
Once you have ran the previous sequence, you can run RewardUploader
which listens for finished results, calculates how future rewards should be spread and uploads it to the blockchain.
At the last sequence, run TaskCaller. In the real world, this would be a BVS client.
We recommend using to install dependencies. Please follow before proceeding. Afterwards, install redis.
Afterwards, please follow the instructions on the to install the Go compiler.
For instructions on configuring the BVS to use alternative accounts, please refer to the section.