Skip to content

qubic/go-qubic-nodes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6a2cbb8 · Mar 25, 2025

History

24 Commits
Mar 25, 2025
Mar 25, 2025
Mar 25, 2025
Apr 25, 2024
Apr 29, 2024
Feb 8, 2025
May 2, 2024
Feb 17, 2025
May 27, 2024
Mar 25, 2025

Repository files navigation

The Qubic nodes service

The purpose of the qubic-nodes service is to continuously check node reliability and provide, upon request, a list of reliable nodes.

Building from source

go build

Running the service

Configuration

The service can be configured either by CLI parameters or environment variables. The current configuration will be printed at startup.

Required parameters

QUBIC_NODES_QUBIC_PEER_LIST:                "5.39.222.64;82.197.173.130;82.197.173.129"

There is no guarantee that the specified bootstrap peers will be available, and the list is not maintained. There are several sources of public peers, for example you can find them here.

Optional parameters

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)

Docker (recommended)

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.

Standalone

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

Available endpoints

/status

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
  }
}

/max-tick

curl http://127.0.0.1:8080/max-tick      
{
  "max_tick":13692662
}