diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 83b35352d4..ab998e9d83 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -22,3 +22,4 @@ - [Listen to balance change](examples/promise/03_listen_to_balance_change/README.md) - [Read chain state](examples/promise/05_read_storage/README.md) - [Make a transfer](examples/promise/07_transfer_dots/README.md) + - [Display system events](examples/promise/08_system_events/README.md) diff --git a/docs/examples/promise/01_simple_connect/package.json b/docs/examples/promise/01_simple_connect/package.json index 2d442b55c5..70abfa35b7 100644 --- a/docs/examples/promise/01_simple_connect/package.json +++ b/docs/examples/promise/01_simple_connect/package.json @@ -11,8 +11,8 @@ }, "dependencies": { - "@polkadot/api": "^0.31.18", - "@polkadot/rpc-provider": "^0.31.18" + "@polkadot/api": "^0.32.12", + "@polkadot/rpc-provider": "^0.32.12" }, "devDependencies": { "rimraf": "^2.6.2" diff --git a/docs/examples/promise/02_listen_to_blocks/package.json b/docs/examples/promise/02_listen_to_blocks/package.json index 69ab45a3a8..41f72d6bdf 100644 --- a/docs/examples/promise/02_listen_to_blocks/package.json +++ b/docs/examples/promise/02_listen_to_blocks/package.json @@ -10,7 +10,7 @@ "start": "node index.js" }, "dependencies": { - "@polkadot/api": "^0.31.18" + "@polkadot/api": "^0.32.12" }, "devDependencies": { "rimraf": "^2.6.2" diff --git a/docs/examples/promise/03_listen_to_balance_change/package.json b/docs/examples/promise/03_listen_to_balance_change/package.json index 76ce9cf475..398160e212 100644 --- a/docs/examples/promise/03_listen_to_balance_change/package.json +++ b/docs/examples/promise/03_listen_to_balance_change/package.json @@ -10,7 +10,7 @@ "start": "node index.js" }, "dependencies": { - "@polkadot/api": "^0.31.18" + "@polkadot/api": "^0.32.12" }, "devDependencies": { "rimraf": "^2.6.2" diff --git a/docs/examples/promise/05_read_storage/package.json b/docs/examples/promise/05_read_storage/package.json index c7882e7f17..e3ad444f0f 100644 --- a/docs/examples/promise/05_read_storage/package.json +++ b/docs/examples/promise/05_read_storage/package.json @@ -1,7 +1,7 @@ { "name": "04_read_storage", "version": "0.2.0", - "description": "Example showing how to transfer DOTs", + "description": "Example showing how to query storage", "main": "index.js", "author": "chevdor", "license": "MIT", @@ -10,9 +10,9 @@ "start": "node index.js" }, "dependencies": { - "@polkadot/api": "^0.31.18" + "@polkadot/api": "^0.32.12" }, "devDependencies": { - "rimraf": "2.6.2" + "rimraf": "^2.6.2" } } diff --git a/docs/examples/promise/07_transfer_dots/package.json b/docs/examples/promise/07_transfer_dots/package.json index 3bb8370072..bebc80f190 100644 --- a/docs/examples/promise/07_transfer_dots/package.json +++ b/docs/examples/promise/07_transfer_dots/package.json @@ -10,9 +10,9 @@ "start": "node index.js" }, "dependencies": { - "@polkadot/api": "^0.31.82" + "@polkadot/api": "^0.32.12" }, "devDependencies": { - "rimraf": "2.6.2" + "rimraf": "^2.6.2" } } diff --git a/docs/examples/promise/08_system_events/README.md b/docs/examples/promise/08_system_events/README.md new file mode 100644 index 0000000000..fd1af5e869 --- /dev/null +++ b/docs/examples/promise/08_system_events/README.md @@ -0,0 +1,5 @@ +# Traverse events + +Query the system events and extract information from them. This example runs until exited via Ctrl-C + +[include](index.js) diff --git a/docs/examples/promise/08_system_events/index.js b/docs/examples/promise/08_system_events/index.js new file mode 100755 index 0000000000..3d901c663e --- /dev/null +++ b/docs/examples/promise/08_system_events/index.js @@ -0,0 +1,33 @@ +// Import the API +const { ApiPromise } = require('@polkadot/api'); + +async function main () { + // Create our API with a default connection to the local node + const api = await ApiPromise.create(); + + // subscribe to system events via storage + api.query.system.events((events) => { + console.log(`\nReceived ${events.length} events:`); + + // loop through the Vec + events.forEach((record) => { + // extract the phase, event and the event types + const { event, phase } = record; + const types = event.typeDef; + + // show what we are busy with + console.log(`\t${event.section}:${event.method}:: (phase=${phase.toString()})`); + console.log(`\t\t${event.meta.documentation.toString()}`); + + // loop through each of the parameters, displaying the type and data + event.data.toArray().forEach((data, index) => { + console.log(`\t\t\t${types[index].type}: ${data.toString()}`); + }); + }); + }); +} + +main().catch((error) => { + console.error(error); + process.exit(-1); +}); diff --git a/docs/examples/promise/08_system_events/package.json b/docs/examples/promise/08_system_events/package.json new file mode 100644 index 0000000000..6c3ac3682e --- /dev/null +++ b/docs/examples/promise/08_system_events/package.json @@ -0,0 +1,18 @@ +{ + "name": "08_system_events", + "version": "0.1.0", + "description": "Example showing how to query and parse events", + "main": "index.js", + "author": "Jaco Greeff ", + "license": "MIT", + "scripts": { + "clean": "rimraf node_modules", + "start": "node index.js" + }, + "dependencies": { + "@polkadot/api": "^0.32.12" + }, + "devDependencies": { + "rimraf": "^2.6.2" + } +}