Skip to content

Run Wasm Light Clients of any Substrate based chain directly in your browser.

License

Notifications You must be signed in to change notification settings

dr-ngubo/substrate-connect

 
 

Repository files navigation

Substrate Connect

Substrate connect provides a way to interact with substrate based blockchains in the browser without using an RPC server. Substrate connect uses a smoldot WASM light client to securely connect to the blockchain network without relying on specific 3rd parties.

Due to browser limitations on websockets from https pages, establishing a good number of peers is difficult as many nodes need to be available with TLS. Substrate connect provides a browser extension to overcome this limitation and to keep the chains synced in the background, which makes your apps faster.

When building an app with substrate connect, it will detect whether the user has the extension and use it, or create the WASM light client in-page for them.

Substrate connect builds on Polkadot JS so building an app is the same experience as with using a traditional RPC server node.

The substrate connect API documentation is published here.

Building an app with @substrate/connect and installing the extension

The most up-to-date usage instructions for app builders can be found here

Development

This repository is using yarn classic workspaces.

We are tracking our work and milestones in a github project.

Please see our contributing guidelines for details on how we like to work and how to smoothly contribute to the project.

Getting Started

  1. Clone the whole substrate-connect repository.
git clone https://github.com/paritytech/substrate-connect.git
  1. Install all dependencies
yarn install
  1. Compile all packages and projects
yarn build

To clean up all build artefacts in workspaces in the repository, run:

yarn clean

To clean up all build artefacts and dependencies in workspaces in the repository, run:

yarn deep-clean

Run local version of Smoldot Extension

Running the following command will build all necessary dependencies and run the Smoldot Extension in development mode with hot reloading enabled. Once run a new (Chrome) browser will appear with the extension added.

yarn dev:extension

(Make sure to run $ yarn install before.)

Run local version of the Smoldot browser demo

Running the following command will build all necessary dependencies and run the Smoldot browser demo. It will be served on https://localhost:1234/

yarn dev:smoldot-browser-demo

(Make sure to run $ yarn install before.)

Run the Multiple Network browser demo

The Multiple Network functionality enables connecting to multiple networks from a single web-page. Running the following command will build all necessary dependencies and run the Multiple Network browser demo. It will be served on https://localhost:1234/

yarn dev:parachain-demo

(Make sure to run $ yarn install before.)

Run the Parachain Network browser demo

The Parachain demo showcases the connection of a uApp to the 'Westend' chain and 'Westmint' parachain and retrieves a list of the tokens from Westmint. Running the following command will build all necessary dependencies and run the Parachain demo. It will be served on https://localhost:1234/

yarn dev:multiple-network-demo 

(Make sure to run $ yarn install before.)

Run local version of Burnr wallet

Running the following command will build all necessary dependencies and run the Substrate Burnr Wallet in development mode with hot reloading enabled. It will be served on http://localhost:1234/

yarn dev:burnr

(Make sure to run $ yarn install before.)

About

Run Wasm Light Clients of any Substrate based chain directly in your browser.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 94.4%
  • JavaScript 3.3%
  • HTML 1.7%
  • Shell 0.6%