Client Libraries
There are a number of language-specific client libraries that can be used to interact with Substrate-based blockchains. In general, the capabilities that these libraries expose are implemented on top of the Substrate remote procedure call (RPC) API.
Javascript
The Polkadot JS team maintains a rich set of tools for interacting with Substrate-based blockchains. Refer to the main Polkadot JS page to learn more about that suite of tools.
Parity also maintains txwrapper
, which is a Javascript
library for offline generation of Substrate transactions.
Go
The Go Substrate RPC Client, AKA GSRPC, is maintained by Centrifuge.
C#
Polkadot API DotNet is a Substrate RPC client library for .Net programmers. It is maintained by Usetech.
Substrate community member Cedric Decoster (@darkfriend77 on GitHub) maintains the SubstrateNetApi and a starter template project for Unity3D. The library is also available via the NuGetForUnity package manager.
C++
Usetech also maintains Polkadot API CPP, which is a C++ library for interacting with the Substrate RPC.
Rust
Parity maintains substrate-subxt
, which is a Rust
library specifically designed for submitting extrinsics to Substrate blockchains. The
the Substrate API Client is another Substrate client
library for Rust that is maintained by Supercomputing Systems; its API is more general-purpose than
substrate-subxt
.
Python
py-substrate-interface is a Python library for interacting with the Substrate RPC. It supports a wide range of capabilities and powers the Polkascan multi-chain block explorer. This library is maintained by Polkascan Foundation.