* 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
Executable File
38 lines
1.2 KiB
JavaScript
Executable File
// Import the API
|
|
const { ApiPromise } = require('@polkadot/api');
|
|
|
|
// Our address for Alice on the dev chain
|
|
const Alice = '5GoKvZWG5ZPYL1WUovuHW3zJBWBP5eT8CbqjdRY4Q6iMaDtZ';
|
|
|
|
async function main () {
|
|
// Create our API with a default connection to the local node
|
|
const api = await ApiPromise.create();
|
|
|
|
// Make our basic chain state/storage queries, all in one go
|
|
const [accountNonce, blockPeriod, validators] = await Promise.all([
|
|
api.query.system.accountNonce(Alice),
|
|
api.query.timestamp.blockPeriod(),
|
|
api.query.session.validators()
|
|
]);
|
|
|
|
console.log(`accountNonce(${Alice}) ${accountNonce}`);
|
|
console.log(`blockPeriod ${blockPeriod.toNumber()} seconds`);
|
|
|
|
if (validators && validators.length > 0) {
|
|
// Retrieve the balances for all validators
|
|
const validatorBalances = await Promise.all(
|
|
validators.map(authorityId =>
|
|
api.query.balances.freeBalance(authorityId)
|
|
)
|
|
);
|
|
|
|
// Print out the authorityIds and balances of all validators
|
|
console.log('validators', validators.map((authorityId, index) => ({
|
|
address: authorityId.toString(),
|
|
balance: validatorBalances[index].toString()
|
|
})));
|
|
}
|
|
}
|
|
|
|
main().catch(console.error).finally(_ => process.exit());
|