Manually Provision a Bonsol Node
Bonsol has a fully featured Docker image and Helm chart that can be used to run a Bonsol node on Kubernetes. For more information on how to run a Bonsol node on kubernetes check out the Run a Bonsol Node on Kubernetes guide.
Prerequisites
A keypair for the node, you need some SOL to pay for the transactions
A Dragons mouth compatible rpc provider endpoint Dragons Mouth Docs click here to get one from Triton One
Docker on your local machine (not required on the node)
The node will do better if it has a gpu with cuda installed, which will require nvidia drivers and tools.
Note: Ansible role coming soon
Hardware Requirements
To run a Bonsol prover node effectively, you'll need:
CPU:
Minimum: 4 cores / 8 threads
Recommended: 8 cores / 16 threads for better proof generation performance
Architecture: x86_64
Memory:
Minimum: 16 GB RAM
Recommended: 32 GB RAM
Storage:
Minimum: 100 GB SSD available space
Recommended: 250 GB+ SSD for image caching
GPU (Optional but recommended):
Minimum: GTX 1060 6GB or equivalent
Recommended: RTX 3060 or better
Required: CUDA 11.0+
Network:
Stable internet connection with at least 100 Mbps bandwidth
Low latency connection to your RPC provider
Note: While a GPU is optional, nodes with CUDA-capable GPUs will have significantly better proof generation performance and may be more competitive in the network.
Installing Deps
Ensure cargo is on the path
On your local machine, you will need to run a Docker image to get the needed Groth16 witness generator and snark binary.On your local machine, you will need to run a Docker image to get the needed Groth16 witness generator and snark binary. This script will download them from the internet and save them in the current directory use --prefix to change the output directory
You will have a director called snark with the binaries in it. You need to copy these binaries to the node and remember the path to the snark directory.
You will put the path in the stark_compression_tools_path in the config file.
Upload the keypair to the node
You will need to upload the keypair to the node.
You will put the path in the section below of the config file.you will put the path in the below section of the config file.
Installing Bonsol
Configuring the Node
You will need to create a config file for the node. The config file is a toml file that contains the configuration for the node.
Here is an example of a config file.
Running the Node
After building the relay package, you can run the node with the following command.
Running the Node with systemd
You can use the following systemd service file to run the node.
You will need to copy this file /etc/systemd/system/bonsol.service and then run the following command. After that, you can reload the systemd daemon and start the service with the following command.
Installing Alloy is out of the scope of this guide, but you can follow the Grafana Cloud docs to install it.
Last updated