@bizinikiwi/connect
v2.1.9
Published
Bizinikiwi-connect to Smoldot clients. Using either bizinikiwi extension with predefined clients or an internal smoldot client based on chainSpecs provided.
Readme
The primary implementation of the light-client provider for any Bizinikiwi-based chain.
Using @bizinikiwi/connect for library authors
The connect package searches for a light client provider via the discovery protocol. If none is found, it will initiate a smoldot instance in the user's browser tab.
Example Usage
To connect to a well-known chain ('pezkuwi', 'ksmcc3', 'zagros2', 'pezkuwichain_v2_2'):
import { createScClient, WellKnownChain } from "@bizinikiwi/connect"
const scClient = createScClient()
const chain = await scClient.addWellKnownChain(
WellKnownChain.zagros2,
function jsonRpcCallback(response) {
console.log("response", response)
},
)
chain.sendJsonRpc(
'{"jsonrpc":"2.0","id":"1","method":"system_health","params":[]}',
)To connect to a custom Bizinikiwi chain using its name and chainspec:
import { createScClient } from "@bizinikiwi/connect"
import myJsonChainSpec from "./myBizinikiwiChainSpec.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":[]}',
)Connecting to a Parachain
To connect to a parachain, first instantiate the relay chain it is connected to, then instantiate the parachain on the same relay chain. The following example connects to a parachain on the Zagros test network:
import { createScClient, WellKnownChain } from "@bizinikiwi/connect"
import jsonParachainSpec from "./myParaChainSpec.json"
const parachainSpec = JSON.stringify(jsonParachainSpec)
const scClient = createScClient()
const relayChain = await scClient.addWellKnownChain(WellKnownChain.zagros2)
const parachain = await relayChain.addChain(
parachainSpec,
function jsonRpcCallback(response) {
console.log("response", response)
},
)
parachain.sendJsonRpc(
'{"jsonrpc":"2.0","id":"1","method":"system_health","params":[]}',
)PezkuwiJs Example
yarn add @pezkuwi/rpc-provider
yarn add @pezkuwi/apiimport { ScProvider } from "@pezkuwi/rpc-provider/bizinikiwi-connect"
import * as Sc from "@bizinikiwi/connect"
import { ApiPromise } from "@pezkuwi/api"
// Connect to pezkuwi relay chain
const provider = new ScProvider(Sc, Sc.WellKnownChain.pezkuwi)
await provider.connect()
const api = await ApiPromise.create({ provider })
// Connect to parachain
const provider2 = new ScProvider(Sc, Sc.WellKnownChain.people, provider)
await provider2.connect()
const api2 = await ApiPromise.create({ provider })Scripts
pnpm testto run the unit testspnpm buildto build @bizinikiwi-connectpnpm lintto run linter for @bizinikiwi-connect
