* Docs: Fixed keyring examples * Docs: Added Rx examples * [Docs] Added timeout to showcase unsubscribe method in ApiPromise * [Docs] Added timeout to showcase unsubscribe method in ApiPromise * [Docs] Added comments to read_storage example * [Docs] Renamed "transfer_dots' to a more generic 'make_transfer' since it's not only DOT's * [Docs] ApiRx examples for simple_connect, listen_to_blocks (incl. unsubscribe), listen_to_balance_change and read_storage * [Docs] changed back keyring import syntax to require * [Docs] Removed provider from read storage example * [Docs] ApiRx "make transfer" example * [Docs] ApiRx "system events" example * [Docs] ApiRx "transfer events" example * [Docs] Removed unused utility functions import * [Docs] ApiRx 'upgrade chain' example * [Docs] removed generated html files * [Docs] Ficed wrong Readme of listen to blocks example * [Docs added missing import] * [Docs] Removed unsubscribe() example from 'listen to blocks' * [Docs] Added Unsubscribe example for ApiPromise and ApiRx * [Docs] Added links to summary * [Docs] Removed duplicate info/comment from 04_unsubscribe * [Docs] Fixed wording * [Docs] Log actual transaction status in "make_transfer" * [Docs] Changed author name * [Docs] Log actual transaction status in "make_transfer" * [Docs] changed headline of make_transfer example README's * [Docs] changed status.value to status.asFinalised * [Docs] Removed auto-generated html * [Docs] Changed all occurances of status.value.toHex() to status.asFinalised.toHex() * [Docs] Remove call to nonce observable from signAndSend examples * [Docs] Use RxJs' zip() operator instead of 'await Promise.all()' * [Docs] Remove call to nonce observable from 'upgrade_chain' example * [Docs] Changed author * [Docs] Changed wording of balance change example * [Docs] smaller code-review fixes * [Docs] Fix Rx read_storage example * [Docs] use pairwise together with startWith in the Rx balance_change example * [Docs] Wording & little less code * [Docs] Added whitespace * [Docs] Use switchMap instead fo subscribe inside subscribe syntax * [Docs] Fixed import syntax for RxJs examples * [Docs] removed provider * [Docs] WIP read storage make-over * [Docs] update Rx read_storage * [Docs] Read storage example with piped switchMap() * [Docs] Turn null into observable * [Docs] Read storage example added 2nd version using tap() * [Docs] fixed name typo * [Docs] removed tap() example
38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
// Import the API and selected RxJs operators
|
|
const { switchMap } = require('rxjs/operators');
|
|
const { ApiRx } = require('@polkadot/api');
|
|
|
|
async function main () {
|
|
// Create our API with a default connection to the local node
|
|
ApiRx.create()
|
|
.pipe(
|
|
switchMap((api) =>
|
|
// subscribe to system events via storage
|
|
api.query.system.events()
|
|
))
|
|
// Then we're subscribing to the emitted results
|
|
.subscribe((events) => {
|
|
console.log(`\nReceived ${events.length} events:`);
|
|
// loop through the Vec<EventRecord>
|
|
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.forEach((data, index) => {
|
|
console.log(`\t\t\t${types[index].type}: ${data.toString()}`);
|
|
});
|
|
});
|
|
});
|
|
};
|
|
|
|
main().catch((error) => {
|
|
console.error(error);
|
|
process.exit(-1);
|
|
});
|