Skip to main content

The OpenBlockperf client

Project description

OpenBlockperf - A cli tool to monitor and share network metrics from a cardano-node.

Package version

The OpenBlockperf Client is a cli tool that collects various data points from a local Cardano node run by a stake pool operator. If you are setting up or operating a stake pool, start with this guideline: https://developers.cardano.org/docs/operate-a-stake-pool/

openBlockperf is designed to run on relay nodes located between the stake pool (producer) node and the global network. It can also run on producer nodes if desired.


Installation / Get started

The installer targets Linux environments typically used for Cardano nodes (for example Ubuntu/Debian server setups with systemd).

Install OpenBlockperf with the installer script. By default this starts an interactive command line wizard that guides you step by step through the installation and configuration:

curl -fsSL https://raw.githubusercontent.com/cardano-foundation/openblockperf/main/blockperf-install.sh | sudo bash

# Once installed you should have a 'blockperf' executable installed.
$ blockperf version

You can also run the installer in non-interactive mode with command line options, or predefine settings via environment variables (useful for containerized/deployment automation workflows). During installation, OpenBlockperf needs to know:

  • the path to the Cardano node config.json
  • the Cardano node systemd unit name whose journald logs should be read

See docs/blockperf-install.md for all installer modes and options.

Usage

The installer configures and starts OpenBlockperf as a systemd service, which is the recommended way to run it continuously on node hosts.

You can also run it in your console for tests and explorations

Usage Examples:

  # Use mainnet (default)
  blockperf run

  # Use preprod network
  blockperf run --network preprod

  # Use preview network
  blockperf run -n preview

  # Override API URL for local development
  blockperf run --api-url http://localhost:8000

  # Combine network with custom API URL
  blockperf run --network mainnet --api-url https://custom-api.example.com

  # Or use environment variable
  export OPENBLOCKPERF_NETWORK=preprod
  blockperf run

Service activity and common file locations:

# Check service state
sudo systemctl status openblockperf.service

# Follow OpenBlockperf logs
sudo journalctl -fu openblockperf.service

# Typical service env file location
/etc/default/openblockperf

# Typical Client UUID state
~/.local/state/blockperf/clientid.uuid

Registration

OpenBlockperf is built around a shared global view: distributed stake pool operators submit relay-side block samples and peering events into a common backend. In return, each contributing operator gets insights about their own block propagation and relay connectivity.

To contribute data, each stake pool registers once and receives an API key that can be reused across all of its relay nodes.

Initial operator identification uses the Calidus Stake Pool Key: https://forum.cardano.org/t/new-calidus-pool-key-for-spos-and-services-interacting-with-pools/143812

During registration, blockperf register returns a challenge to sign with your Calidus key. Submit the signature to receive your OpenBlockperf API key.

blockperf register --pool-id [your pools bech32 id] --calidus-skey [path to your calidus skey file]

You only need to run calidus skey once on one of your relay nodes to obtain the API key for your stake pool. After that, you can use this API key on additional relay nodes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openblockperf-0.0.27.tar.gz (47.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openblockperf-0.0.27-py3-none-any.whl (49.4 kB view details)

Uploaded Python 3

File details

Details for the file openblockperf-0.0.27.tar.gz.

File metadata

  • Download URL: openblockperf-0.0.27.tar.gz
  • Upload date:
  • Size: 47.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for openblockperf-0.0.27.tar.gz
Algorithm Hash digest
SHA256 5ed770dc08e3418070a1ebe9c4466c842204bf2ac812b8974349f55cf00b75ca
MD5 a0b3d90d17493e3070ed3a258f2d8898
BLAKE2b-256 63c1f81eaac4971765c2f9a87d6e10c030d27e4ac4fe8bba2ccece56079e3560

See more details on using hashes here.

File details

Details for the file openblockperf-0.0.27-py3-none-any.whl.

File metadata

  • Download URL: openblockperf-0.0.27-py3-none-any.whl
  • Upload date:
  • Size: 49.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for openblockperf-0.0.27-py3-none-any.whl
Algorithm Hash digest
SHA256 edc045325571019255b2a36a9c899870db072833c09d3ea5e13cf26918f2d81d
MD5 233d6277639a066081243841aba16560
BLAKE2b-256 e465c854892af7756d90b3880b7171951c63eac77e171799f80678a810fd78f1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page