@rmrk/rmrk-balance-js
Read balances of the chains that support the $RMRK token. The following chains are currently supported:
Quickstart
yarn add | npm install @rmrk-team/rmrk-balance-js
CLI
npm install -g @rmrk-team/rmrk-balance-js
rmrk-balance -a YOUR_ADDRESS
Observables
import { ApiPromise, WsProvider } from "@polkadot/api";
import { combineLatest, map } from "rxjs";
import {
statemine,
karura,
bifrost,
moonriver,
} from "@rmrk-team/rmrk-balance-js";
const address = "D6HSL6nGXHLYWSN8jiL9MSNixH2F2o382KkHsZAtfZvBnxM";
const statemineBalance$ = statemine.balance$(address);
const moonriverBalance$ = moonriver.balance$(address);
const karuraBalance$ = karura.balance$(address);
const bifrostBalance$ = bifrost.balance$(address);
const total$ = combineLatest([
statemineBalance$,
moonriverBalance$,
karuraBalance$,
bifrostBalance$,
]).pipe(
map(([statemine, moonriver, karura, bifrost]) => {
return {
balance:
statemine.balance +
moonriver.balance +
karura.balance +
bifrost.balance,
};
})
);
total$.subscribe((total) => {
console.log({ total });
});
statemine.provideApi(
ApiPromise.create({
provider: new WsProvider("wss://statemine-rpc.polkadot.io"),
})
);
moonriver.provideApi(
ApiPromise.create({
provider: new WsProvider("wss://wss.moonriver.moonbeam.network"),
})
);
karura.provideApi(
ApiPromise.create({
provider: new WsProvider("wss://karura.polkawallet.io"),
})
);
bifrost.provideApi(
ApiPromise.create({
provider: new WsProvider("wss://bifrost-rpc.liebi.com/ws"),
})
);
Promise
import { ApiPromise, WsProvider } from "@polkadot/api";
import { moonriver, karura } from "@rmrk-team/rmrk-balance-js";
async function main() {
const address = "D6HSL6nGXHLYWSN8jiL9MSNixH2F2o382KkHsZAtfZvBnxM";
moonriver.provideApi(
ApiPromise.create({
provider: new WsProvider("wss://wss.moonriver.moonbeam.network"),
})
);
karura.provideApi(
ApiPromise.create({
provider: new WsProvider("wss://karura.polkawallet.io"),
})
);
const [moonbalance, karurabalance] = await Promise.all([
moonriver.balance(address),
karura.balance(address),
]);
console.log({
moonbalance,
karurabalance,
total: moonbalance.balance + karurabalance.balance,
});
}
main();