Uptime Tracking System
Instructions for the SNARK-based uptime tracking system.
Learn how to set up the uptime tracking system for the Mina Foundation Delegation Program
PLEASE READ: This affects the submission of uptime data and the Performance Score results for receiving a delegation.
The current sidecar tracking system is being phased out to be replaced by the SNARK-work-based uptime tracking system. Until further notice, please continue running the sidecar AND SNARK-based tracking system on the SAME node.
Please follow the latest updates and post questions in the #delegation-program channel on Mina Protocol Discord.
In order to maintain eligibility for various grants and the Mina Foundation Delegation Program, you must connect to our uptime tracking endpoint to run the SNARK-work-based uptime tracking system with your daemon to report node uptime.
If you are required to keep your node online for a grant or specific program, you must run a small uptime tracking program that will report your daemon's uptime. This tutorial will walk you through the process of installing, configuring and running the uptime tracking system.
We recommend that you save some of your SNARK work data logs. You can also share the logs with us if you’re interested in helping out with data checks.
Pre-requisites
Make sure you updated your node to at least release (3.0.0+):
How to set up the uptime system
The SNARK-work-based uptime system is built into the mina daemon. The new uptime tracking system no longer requires importing your keypair and supports a new flag --uptime-submitter-key
, which takes the path to your private key, just like --block-producer-key
.
To get started, pass in the following information to the daemon:
The path to the private key with the flag:
--uptime-submitter-key </path/to/private/key>
The URL of our testing backend server with the flag:
--uptime-url https://uptime-backend.minaprotocol.com/v1/submit
The password for the keypair associated with the given public key has the environment variable
UPTIME_PRIVKEY_PASS=<CHANGE_ME_TO_MY_VERY_SECURE_PASSWORD>
. If you are using a .mina-env file on Debian then this value should be on its own line, not included inEXTRA_FLAGS=
.
Here’s an example of what your .mina-env file should look like for Debian:
EXTRA_FLAGS="--block-producer-key /home/mina/my-wallet --uptime-submitter-key /home/mina/my-wallet --uptime-url https://uptime-backend.minaprotocol.com/v1/submit"
UPTIME_PRIVKEY_PASS=<CHANGE_ME_TO_MY_VERY_SECURE_PASSWORD>
MINA_PRIVKEY_PASS=<CHANGE_ME_TO_MY_VERY_SECURE_PASSWORD>
CODA_PRIVKEY_PASS=<CHANGE_ME_TO_MY_VERY_SECURE_PASSWORD>
LOG_LEVEL=Info
FILE_LOG_LEVEL=Debug
Relevant Links
- Latest Release Notes for Mina Protocol
- Mina Foundation Delegation Policy
- Mina Docs: Mina Foundation Delegation Program
- Delegation Program Tiebreak System