Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@substrate/connect
Advanced tools
Substrate-connect to Smoldot clients. Using either substrate extension with predefined clients or an internal smoldot client based on chainSpecs provided.
The primary implementation of the light-client provider for any Substrate-based chain.
@substrate/connect
for library authorsThe 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.
To connect to a well-known chain ('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":[]}',
)
To connect to a custom Substrate chain using its 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":[]}',
)
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 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":[]}',
)
yarn add @polkadot/rpc-provider
yarn add @polkadot/api
import { ScProvider } from "@polkadot/rpc-provider/substrate-connect"
import * as Sc from "@substrate/connect"
import { ApiPromise } from "@polkadot/api"
// Connect to polkadot relay chain
const provider = new ScProvider(Sc, Sc.WellKnownChain.polkadot)
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 })
pnpm test
to run the unit testspnpm build
to build @substrate-connectpnpm lint
to run linter for @substrate-connectFAQs
Substrate-connect to Smoldot clients. Using either substrate extension with predefined clients or an internal smoldot client based on chainSpecs provided.
We found that @substrate/connect demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 15 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.