Package Exports
- @w3f/substrate-telemetry-client
- @w3f/substrate-telemetry-client/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@w3f/substrate-telemetry-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Substrate Telemetry Client
A TypeScript client library for connecting to Substrate Telemetry backend service. Get real-time information about nodes in Substrate-based networks like Polkadot and Kusama.
Installation
yarn install
Basic Usage
import { TelemetryClient, CHAIN_GENESIS } from 'substrate-telemetry-client';
const client = new TelemetryClient();
await client.connect();
client.subscribe(CHAIN_GENESIS.POLKADOT);
// Event-based updates example:
client.onUpdate((nodes) => {
console.log('Total nodes:', nodes.length);
});
// Polling-based updates examples:
// 1. Get all nodes
const nodes = client.getNodes();
console.log('Current nodes:', nodes.length);
// 2. Get nodes filtered by node names
const nodeNames = ['Alice', 'Bob', 'Charlie'];
const specificNodes = client.getNodesFiltered(node => nodeNames.includes(node.name));
API Reference
TelemetryClient
Constructor Options
interface TelemetryConfig {
url?: string; // Telemetry WebSocket URL
autoReconnect?: boolean; // Auto reconnect on disconnect
maxReconnectAttempts?: number; // Max reconnection attempts
}
Methods
connect(): Promise<void>
- Connect to telemetry servicedisconnect(): void
- Disconnect from servicesubscribe(chain: GenesisHash): void
- Subscribe to chain updatesonUpdate(handler: (nodes: NodeInfo[]) => void): () => void
- Register update handlergetNodes(): NodeInfo[]
- Get all nodesgetNode(id: number): NodeInfo | undefined
- Get specific nodegetNodesFiltered(predicate: (node: NodeInfo) => boolean): NodeInfo[]
- Filter nodesgetNodesSorted(compareFn: (a: NodeInfo, b: NodeInfo) => number): NodeInfo[]
- Sort nodesgetChainStats(): ChainStats | undefined
- Get chain statistics
Supported Networks
- Polkadot (
CHAIN_GENESIS.POLKADOT
) - Kusama (
CHAIN_GENESIS.KUSAMA
) - Other Substrate-based networks (use their genesis hash)
Development
# Install dependencies
yarn install
# Build
yarn build
# Run examples
yarn basic
yarn detailed
You can find example code in:
examples/basic.ts
- Simple connection and node information displayexamples/detailed.ts
- Detailed output with node information
Issues
If you find a bug or have a feature request, please create an issue in our GitHub repository.
License
MIT License