The purpose of the qubic-nodes
service is to continuously check node reliability and provide, upon request, a list of reliable nodes.
go build
The service can be configured either by CLI parameters or environment variables. The current configuration will be printed at startup.
QUBIC_NODES_QUBIC_PEER_LIST: "5.39.222.64;82.197.173.130;82.197.173.129"
QUBIC_NODES_QUBIC_EXCHANGE_TIMEOUT: (default: 2s)
QUBIC_NODES_QUBIC_MAX_TICK_ERROR_THRESHOLD: (default: 50)
QUBIC_NODES_QUBIC_RELIABLE_TICK_RANGE: (default: 30)
QUBIC_NODES_SERVICE_TICKER_UPDATE_INTERVAL: (default: 5s)
A docker-compose.yml
file is provided in this repository. You can run it as-is using docker compose up -d
.
It may be necessary to configure an up-to-date list of peers if the service fails to start.
Export the required environment variables:
export QUBIC_NODES_QUBIC_PEER_LIST="5.39.222.64;82.197.173.130;82.197.173.129"
You can now start the service:
./go-qubic-nodes
curl http://127.0.0.1:8080/status
{
"max_tick":13692658,
"last_update":1714654658,
"reliable_nodes":[
{
"address":"5.39.222.64",
"peers":[
"194.45.36.121",
"109.230.239.139",
"66.23.193.243",
"5.39.217.105"
],
"last_tick":13692657,
"last_update":1714654657
},
{
"address":"82.197.173.130",
"peers":[
"194.45.36.144",
"66.248.204.30",
"66.23.193.218",
"109.230.239.74"
],
"last_tick":13692658,
"last_update":1714654658
},
{
"address":"82.197.173.129",
"peers":[
"185.130.224.45",
"95.156.231.27",
"82.197.173.130",
"5.39.216.39"
],
"last_tick":13692658,
"last_update":1714654658
}
],
"most_reliable_node":{
"address":"82.197.173.129",
"peers":[
"185.130.224.45",
"95.156.231.27",
"82.197.173.130",
"5.39.216.39"
],
"last_tick":13692658,
"last_update":1714654658
}
}
curl http://127.0.0.1:8080/max-tick
{
"max_tick":13692662
}