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.26.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.26-py3-none-any.whl (49.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openblockperf-0.0.26.tar.gz
  • Upload date:
  • Size: 47.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","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.26.tar.gz
Algorithm Hash digest
SHA256 cfaa7660abec94e243ac66286755d58631e67ce56382b18ab0241f5224256c4c
MD5 44a2e8ec41f0048ad2a09e72c0dea7e3
BLAKE2b-256 fb7b90b075913ea33615f04acde949a50ea5b733eca18ce150324fbcfa81b8f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: openblockperf-0.0.26-py3-none-any.whl
  • Upload date:
  • Size: 49.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","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.26-py3-none-any.whl
Algorithm Hash digest
SHA256 11d13107e312fea8207ff2a6557a19be49bd408b92759aff89465f3338b9bbf6
MD5 d2e8fc803b90ffbf0ab8d5ded1bf9cd2
BLAKE2b-256 2972fdf2c690469a31593db3d809bffeb2ee8c85cd0c30ed21811afc39383430

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