Skip to main content

WebSocket Connection Guide

Connect directly to Unit Network's Substrate node for real-time blockchain data, event subscriptions, and RPC calls.


Connection

wss://mainnet-unit.com:443

This is a standard Substrate JSON-RPC WebSocket endpoint compatible with all Substrate tooling.


Quick Start

JavaScript (Browser / Node.js)

const ws = new WebSocket('wss://mainnet-unit.com:443');

ws.onopen = () => {
console.log('Connected to Unit Network');

// Subscribe to new blocks
ws.send(JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'chain_subscribeNewHeads',
params: []
}));
};

ws.onmessage = (event) => {
const data = JSON.parse(event.data);
if (data.params?.result) {
console.log('New block:', data.params.result.number);
}
};
import { ApiPromise, WsProvider } from '@polkadot/api';

const provider = new WsProvider('wss://mainnet-unit.com:443');
const api = await ApiPromise.create({ provider });

// Get chain info
const chain = await api.rpc.system.chain();
const lastHeader = await api.rpc.chain.getHeader();
console.log(`${chain}: block #${lastHeader.number}`);

// Subscribe to new blocks
const unsubscribe = await api.rpc.chain.subscribeNewHeads((header) => {
console.log(`Block #${header.number}`);
});

Common RPC Methods

System

MethodDescription
system_chainChain name
system_nameNode name
system_versionNode version
system_healthNode health status
system_propertiesChain properties (decimals, token symbol)

Chain

MethodDescription
chain_getHeaderLatest block header
chain_getBlockFull block data
chain_getBlockHashBlock hash by number
chain_subscribeNewHeadsSubscribe to new blocks

State

MethodDescription
state_getStorageRead storage by key
state_queryStorageAtQuery multiple storage keys
state_getMetadataChain metadata (pallet info)
state_getRuntimeVersionRuntime version

Subscribing to Events

// Subscribe to all system events
const api = await ApiPromise.create({ provider });

api.query.system.events((events) => {
events.forEach(({ event }) => {
console.log(`${event.section}.${event.method}: ${event.data}`);
});
});
Performance

WebSocket subscriptions are far more efficient than polling the REST API. Use subscriptions for any real-time data needs.


Connection Best Practices

  1. Reconnect on disconnect — WebSocket connections can drop; implement exponential backoff
  2. Unsubscribe when done — Call the unsubscribe function to prevent memory leaks
  3. Use Polkadot.js — It handles reconnection, type decoding, and subscription management
  4. Rate limit subscriptions — Don't create hundreds of concurrent subscriptions