Read storage

Many important variables are available through the storage API. This example shows how to call a few of those APIs.

const BN = require('bn.js');
const Rpc = require('@polkadot/rpc-core').default;
const WsProvider = require('@polkadot/rpc-provider/ws').default;
const storage = require('@polkadot/storage').default;

const provider = new WsProvider('ws://127.0.0.1:9944');
const api = new Rpc(provider);

async function getAccountIndex (address) {
  return api.state.getStorage([storage.system.public.accountIndexOf, address]);
}

async function getValidators () {
  return api.state.getStorage([storage.session.public.validators]);
}

async function getBlockPeriod () {
  return api.state.getStorage([storage.timestamp.public.blockPeriod]);
}

async function main () {
  const address = '5GoKvZWG5ZPYL1WUovuHW3zJBWBP5eT8CbqjdRY4Q6iMaDtZ';
  const validators = await getValidators();
  const index = await getAccountIndex(address);
  const blockPeriod = await getBlockPeriod();

  console.log(`BlockPeriod: ${new BN(blockPeriod).toString(10)} seconds`);
  console.log(`Account Index of ${address}: ${index.toString(10)}`);
  console.log('Current validators', validators);
}

main().finally(_ => process.exit());

results matching ""

    No results matching ""