diff --git a/packages/connect/README.md b/packages/connect/README.md index eed2056891..399cd8e3d2 100644 --- a/packages/connect/README.md +++ b/packages/connect/README.md @@ -1,81 +1,5 @@ # @substrate/connect -## Using `@substrate/connect` through the PolkadotJS RPC Provider - -The recommended way to use `@substrate/connect` is to use PolkadotJS, -which provides a higher-level API built on top of it. -Unless you are writting your own library, you probably want to use the -PolkadotJS RPC provider. - -Provide a well-known chain name ('polkadot', 'ksmcc3', 'westend2', 'rococo_v2_2'): - -Note these names are the "real" names of the chains rather than the friendly -names (e.g. "kusama" or "rococo"). 'ksmcc3' is the name for kusama. This -matters for chains which have been hard forked. I.e. rococo - "rococo_v2" and -"rococo_v2_2" are two completely unrelated chains. - -```js -import { ApiPromise } from "@polkadot/api"; -import { - ScProvider -} from "@polkadot/rpc-provider"; -import * as Sc from "@substrate/connect"; - -const provider = new ScProvider(Sc, Sc.WellKnownChain.polkadot); -await provider.connect(); -const polkadotApi = await ApiPromise.create({ provider }); -await polkadotApi.rpc.chain.subscribeNewHeads((lastHeader) => { - console.log(lastHeader.number.toString()); -}); -``` - -...or provide your custom Substrate chain's specification: - -```js -import { ApiPromise } from "@polkadot/api"; -import { ScProvider } from "@polkadot/rpc-provider/substrate-connect"; -import * as Sc from "@substrate/connect"; - -import myJsonSubstrateChainSpec from './mySubstrateChainSpec.json'; - -const mySubstrateChainSpec = JSON.stringify(myJsonSubstrateChainSpec); -const provider = new ScProvider(Sc, mySubstrateChainSpec); - -await provider.connect(); - -const polkadotApi = await ApiPromise.create({ provider }); -await polkadotApi.rpc.chain.subscribeNewHeads((lastHeader) => { - console.log(lastHeader.number.toString()); -}); -``` - -In order to connect to a parachain, you must first instantiate the `ScProvider` -corresponding to the relay chain, then pass this `ScProvider` as the second -argument of the constructor of the parachain `ScProvider`. The following example -connects to a parachain of the Westend test network: - -```js -import { ApiPromise } from "@polkadot/api"; -import { - ScProvider -} from "@polkadot/rpc-provider"; -import * as Sc from "@substrate/connect"; - -import jsonParachainSpec from './myParaChainSpec.json'; - -const parachainSpec = JSON.stringify(jsonParachainSpec); - -const relayProvider = new ScProvider(Sc, Sc.WellKnownChain.westend2); -const provider = new ScProvider(Sc, parachainSpec, relayProvider); - -await provider.connect(); - -const polkadotApi = await ApiPromise.create({ provider }); -await polkadotApi.rpc.chain.subscribeNewHeads((lastHeader) => { - console.log(lastHeader.number.toString()); -}); -``` - ## Using `@substrate/connect` for library authors Provide a well-known chain name ('polkadot', 'ksmcc3', 'westend2', 'rococo_v2_2'):