@rootblocks/trn-listener
v0.1.1
Published
A simple listener for The Root Network
Downloads
4
Readme
trn-listener
A simple listener for The Root Network (TRN) blockchain.
Installation
via NPM:
npm install @rootblocks/trn-listenervia Yarn:
yarn add @rootblocks/trn-listenerUsage
Basic Usage
import { Listener, NetworkName } from "@rootblocks/trn-listener";
const listener = new Listener({
logLevel: "info",
network: NetworkName.ROOT,
});
// Initialize the listener
listener.init().then(() => {
// Listen to events in real-time
listener.on([
{
section: "nft",
method: "CollectionCreate",
filter: {
collectionOwner: "0xfffFFfFF000000000000000000000000000043D3",
},
callback: (event, metadata) => {
console.log("Event data:", event);
console.log("Block metadata:", metadata);
},
},
]);
});Parse Single Block
// Parse a specific block
listener.parseOneBlock(
"0xb5af318da1095e813b37368b8ac277821ecc975acd33aa8583a9200c2b910690",
[
{
section: "nft",
method: "CollectionCreate",
filter: {
collectionUuid: 1006692,
},
callback: (event, metadata) => {
console.log("Found event in block:", event);
},
},
]
);Custom Provider
import { WsProvider } from "@polkadot/api";
const provider = new WsProvider("wss://your-custom-endpoint.com");
const listener = new Listener({
logLevel: "debug",
network: NetworkName.PORCINI,
customProvider: provider,
});Event Filtering
The listener supports flexible event filtering. You can listen to any blockchain event by specifying:
section: The pallet/module name (e.g., "nft", "assets", "balances")method: The specific event method (e.g., "CollectionCreate", "Transfer", "Mint")filter: Object to filter events based on event data propertiescallback: Function called when matching events are found
Configuration
logLevel: The log level for the listener (e.g., "info", "debug", "error"). Default:info.network: The network to listen to. Can beNetworkName.ROOTorNetworkName.PORCINI.customProvider: Optional custom WebSocket provider for connecting to specific endpoints.
Methods
init(): Initialize the connection to the blockchain. Returns a Promise.on(eventsOfInterest): Subscribe to real-time events.parseOneBlock(hash, eventsOfInterest): Parse events from a specific block.hasSubscribed(): Check if the listener is currently subscribed to events.stop(): Disconnect from the blockchain.
