From 8b0a40f2883fd0a21ad7a15328a411cc9b8ca4ee Mon Sep 17 00:00:00 2001 From: Adi Bhagavath Date: Wed, 15 May 2024 10:33:28 +0530 Subject: [PATCH] Add a demo script to listen the events Signed-off-by: Adi Bhagavath --- demo/src/listen-events.ts | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 demo/src/listen-events.ts diff --git a/demo/src/listen-events.ts b/demo/src/listen-events.ts new file mode 100644 index 00000000..c151b8c7 --- /dev/null +++ b/demo/src/listen-events.ts @@ -0,0 +1,33 @@ +import { ApiPromise, WsProvider } from '@polkadot/api' + +async function main() { + const networkAddress = process.env.NETWORK_ADDRESS + ? process.env.NETWORK_ADDRESS + : 'ws://127.0.0.1:9944' + const provider = new WsProvider(networkAddress) + const api = await ApiPromise.create({ provider }) + + // Subscribe to system events + api.query.system.events((events) => { + // Loop through the array of events + events.forEach((record) => { + // Extract the phase, event type, and event data + const { event, phase } = record + const types = event.typeDef + const args = event.data.map((data) => data.toString()) + + // Print the event details + console.log( + `\nEvent: ${event.section}.${event.method} [${phase.toString()}]` + ) + console.log(`\tParameters:`) + args.forEach((arg, index) => { + console.log(`\t\t${types[index].type}: ${arg}`) + }) + }) + }) +} + +main().catch((error) => { + console.error('Error:', error) +})