Satoshi Qazi Muhammed a4fbd9c061 Move vulnerable dependencies to patched versions
Backend (Cargo.lock): openssl 0.10.55 -> 0.10.81, bytes 1.12.1, h2 0.3.27,
tokio 1.26 -> 1.47.1 (mio 1.x), url 2.3.1 -> 2.5.7 (idna 1.1), rand 0.8.8,
spin 0.9.9, time 0.3.55, ring 0.17.14.

Three alerts needed manifest changes:

- tokio-rustls 0.23 -> 0.26 (rustls 0.20 -> 0.23), which is what moves
  ring off 0.16. The ring provider is selected explicitly instead of the
  default aws-lc-rs, so the image build needs no cmake/C toolchain; roots
  still come from webpki-roots (now 1.0). Checked against live hosts: a
  valid certificate connects, an expired one and a name mismatch are
  refused.
- maxminddb 0.23 -> 0.27: lookup() now returns a result that is decoded,
  and the City model's fields are no longer Options. The existing
  locate_random_ip test (12.5.56.25 -> "Gardena") passes.
- structopt (clap 2, which pulled atty) -> clap 4 derive in telemetry_core,
  telemetry_shard and the soak tests; criterion 0.4 -> 0.5 for the same
  reason. Both binaries' arguments were parsed before and after for the
  docker-compose invocations and a set of other cases: identical results,
  except that `--feed-timeout` given without a value is now an error where
  structopt silently used the default. --denylist keeps taking every value
  up to the next flag (num_args = 1..), as its help text describes.

Frontend: npm audit fix within ranges, and webpack-dev-server 4 -> 5.2.6
(no devServer options are configured, so nothing to migrate). Left:
sockjs -> uuid 8 inside webpack-dev-server 5; the fix is 6.0, which needs
Node 22 while CI runs 20, and it is the local dev server only.

Checked: backend cargo test (58 passed), clippy, fmt; frontend lint,
prettier, test and build.
2026-10-03 04:25:49 +04:00
2020-04-24 12:49:52 +02:00
2021-03-29 22:21:33 +02:00
2021-11-23 18:12:14 +02:00
2018-06-18 18:39:56 +02:00
2026-01-08 16:40:51 +03:00
2021-03-25 14:23:03 +01:00

Pezkuwichain Telemetry

Overview

This repository contains the Telemetry server for Pezkuwichain nodes. It includes:

  • Backend: Rust-based ingestion server (telemetry_shard and telemetry_core)
  • Frontend: React/TypeScript dashboard for monitoring network nodes

Pezkuwichain nodes can connect to Telemetry using the --telemetry-url flag.

Messages

Nodes send telemetry messages depending on the verbosity level:

Verbosity 0 (default):

system.connected
system.interval
block.import
notify.finalized

Verbosity 1 (includes validator address):

afg.authority_set

Getting Started

Prerequisites

Backend

cd backend
cargo build --release

# Terminal 1 - Core server
./target/release/telemetry_core

# Terminal 2 - Shard server
./target/release/telemetry_shard

Default ports:

  • telemetry_core: 127.0.0.1:8000
  • telemetry_shard: 127.0.0.1:8001

Frontend

cd frontend
npm install
npm run start

Access the UI at http://localhost:3000

Connect a Node

pezkuwi --dev --telemetry-url 'ws://localhost:8001/submit 0'

Note: The "0" is the verbosity level (0-9).

Docker

Build Images

# Backend
cd backend
docker build -t pezkuwichain/telemetry-backend .

# Frontend
cd frontend
docker build -t pezkuwichain/telemetry-frontend .

Docker Compose

docker-compose up

Manual Docker Setup

# Create network
docker network create telemetry

# Backend core
docker run -d --network=telemetry --name backend-core \
  -p 8000:8000 --read-only \
  pezkuwichain/telemetry-backend \
  telemetry_core -l 0.0.0.0:8000

# Backend shard
docker run -d --network=telemetry --name backend-shard \
  -p 8001:8001 --read-only \
  pezkuwichain/telemetry-backend \
  telemetry_shard -l 0.0.0.0:8001 -c http://backend-core:8000/shard_submit

# Frontend
docker run -d --network=telemetry --name frontend \
  -p 3000:8000 \
  -e SUBSTRATE_TELEMETRY_URL=ws://localhost:8000/feed \
  pezkuwichain/telemetry-frontend

Configuration

Environment Variables

Variable Description Default
SUBSTRATE_TELEMETRY_URL WebSocket URL for frontend to connect ws://localhost:8000/feed

License

GPL-3.0

Credits

Based on substrate-telemetry by Parity Technologies.

Maintained by Dijital Kurdistan Tech Institute.

S
Description
No description provided
Readme GPL-3.0
97 MiB
1 Watchers 0 Forks
Languages
Rust 62.6%
TypeScript 31.7%
CSS 4.6%
JavaScript 0.6%
Dockerfile 0.3%
Other 0.1%