@substrate/connect
TypeScript icon, indicating that this package has built-in type declarations

0.8.10 • Public • Published

@substrate/connect

Using @substrate/connect for library authors

Provide a well-known chain name ('polkadot', 'ksmcc3', 'westend2', 'rococo_v2_2'):

import { createScClient, WellKnownChain } from '@substrate/connect';

const scClient = createScClient();
const chain = await scClient.addWellKnownChain(
  WellKnownChain.westend2,
  function jsonRpcCallback(response) {
    console.log("response", response);
  }
);

chain.sendJsonRpc(
  '{"jsonrpc":"2.0","id":"1","method":"system_health","params":[]}'
);

...or provide your custom substrate chain's name and chainspec:

import { createScClient } from '@substrate/connect';
import myJsonChainSpec from './mySubstrateChainSpec.json';

const myChainSpec = JSON.stringify(myJsonChainSpec);

const scClient = createScClient();
const chain = await scClient.addChain(
  myChainSpec,
  function jsonRpcCallback(response) {
    console.log("response", response);
  }
);

chain.sendJsonRpc(
  '{"jsonrpc":"2.0","id":"1","method":"system_health","params":[]}'
);

In order to connect to a parachain, you must first instantiate the relay chain this parachain is connected to, then instantiate the parachain on the same relay chain. The following example connects to a parachain of the Westend test network:

import { createScClient, WellKnownChain } from '@substrate/connect';
import jsonParachainSpec from './myParaChainSpec.json';

const parachainSpec = JSON.stringify(jsonParachainSpec);

const scClient = createScClient();
const relayChain = await scClient.addWellKnownChain(WellKnownChain.westend2)
const parachain = await relayChain.addChain(
  parachainSpec,
  function jsonRpcCallback(response) {
    console.log("response", response);
  }
);

parachain.sendJsonRpc(
  '{"jsonrpc":"2.0","id":"1","method":"system_health","params":[]}'
);

Scripts

  • pnpm test to run the unit tests
  • pnpm build to build @substrate-connect
  • pnpm lint to run linter for @substrate-connect

Dependencies (4)

Dev Dependencies (5)

Package Sidebar

Install

npm i @substrate/connect

Weekly Downloads

87,098

Version

0.8.10

License

GPL-3.0-only

Unpacked Size

221 kB

Total Files

37

Last publish

Collaborators

  • ryan-parity
  • paritytech
  • tarikgul
  • marshacb
  • imod7
  • alexandru.vasile
  • jimmychu0807
  • paritytech-ci
  • andreieres
  • jacogr
  • kianenigma
  • joepetrowski
  • jeluard
  • wirednkod
  • niklasad1
  • jsdw