* new EventRecord with topics * Add additional decoding checks (from #612) * Slightly rework storage parsing (future checks) * Split storage result formatting (set vs data) * Allow v3 event parsing * Max Vector length check * assert during Event parsing * Well, HACK-y fallback * Revert "Well, HACK-y fallback" This reverts commit edbf61b99da2753bec3a535126660e71bdcd9861. * Node overrides... * Add implVersion * Register types * Update with polkadot as well * inject compatibility types * EventRecord77 in testing * Conversion with DoubleMap * E2E tested against v3 & v4 * Filter with some * Split archive/remove alex tests * beforeAll -> beforeEach * Remove .only * EventRecordV0 -> 77
@plugnet/rpc-core
This library provides a clean wrapper around all the methods exposed by a Plugnet network client.
Usage
Installation -
yarn add @plugnet/rpc-core
Initialisation -
import Rpc from '@plugnet/rpc-core';
import WsProvider from '@plugnet/rpc-provider/ws';
const provider = new WsProvider('http://127.0.0.1:9944');
const api = new Rpc(provider);
Retrieving the block header object for a given block header hash (a 0x-prefixed hex string with length of 64) -
api.chain
.getHeader('0x1234567890')
.then((header) => console.log(header))
.catch((error) => console.error(error));
Retrieving the best block number, parent hash, state root hash, extrinsics root hash, and digest (once-off) -
api.chain
.getHead()
.then((headerHash) => {
return api.chain.getHeader(headerHash);
})
.then((header) => {
console.log(`best #${header.blockNumber.toString()}`);
console.log(`parentHash: ${header.parentHash.toString()}`);
console.log(`stateRoot: ${header.stateRoot.toString()}`);
console.log(`extrinsicsRoot: ${header.extrinsicsRoot.toString()}`);
console.log(`digest: ${header.digest.toString()}`);
})
.catch((error) => {
console.error('error:', error);
});
Retrieving best header via subscription -
api.chain
.subscribeNewHead((header) => {
console.log(`best #${header.blockNumber}`);
})
.then((subscriptionId) => {
console.log(`subscriptionId: ${subscriptionId}`);
// id for the subscription, can unsubscribe via
// api.chain.subscribeNewHead.unsubscribe(subscriptionId);
})
.catch((error) => {
console.error('error subscribing:', error);
});