Tool Index
Here, we provide a list of tools available for your development needs. They are sorted by context. If you're actively maintaining a tool that might be useful to other Polkadot, Kusama or Substrate developers, feel free to add it in.
Wallets​
Please see the Wallets page on the official website or the Wallets page on the Wiki for detailed information.
Block Explorers​
- Polkadot-JS Apps Explorer - Polkadot dashboard block explorer. Supports dozens of other networks, including Kusama, Westend, and other remote or local endpoints. Access via IPFS
- Subscan - Blockchain explorer for Substrate chains. Repo.
- 3xpl.com - Fastest ad-free universal block explorer and JSON API with Polkadot support.
- Blockchair.com - Universal blockchain explorer and search engine with Polkadot support.
- Statescan.io - Polkadot & Kusama Blockchain explorer.
Blockchain Analytics​
- Dune Analytics - Community dashboards and analytics
- DotLake - data visualizations for the Polkadot Ecosystem maintained by Parity
- Web3go - An open platform for everyone to play with, curate and visualize multi-blockchain data
- Polkawatch - Polkadot Decentralization Analytics
Network Monitoring & Reporting​
- Polkadot Telemetry Service - Network information including what nodes are running the chain, what software versions they are running, sync status, and location.
- Polkabot - Polkadot network monitoring and reporting using Matrix (Riot / Element) chat. Users may create custom bot plugins. Blogpost.
- Ryabina's Telegram Bot - A Telegram bot for monitoring on-chain events of Substrate chains. GitHub Repository GitHub Repository.
- Panic - A node monitoring and alert server for validators.
- OpenWeb3/Guardian - A CLI tool and JS library to monitor on chain states and events.
- Ocelloids SDK - Typescript SDK for multi-chain monitoring that supports domain-specific logic for different pallets.
- Cyclops Dashboard - a validator dashboard application that helps Polkadot network validators keep track of all their validators, their staking rewards, and performance.
Clients​
- Polkadot - The original Rust implementation of the Polkadot Host.
- Kagome - A C++ Polkadot implementation of the Polkadot Host developed by Soramitsu.
- Gossamer - A Go implementation of the Polkadot Host developed by ChainSafe Systems.
- TxWrapper-core - Helper functions for offline transaction generation.
Tools​
- Substrate - Blockchain development platform written in Rust. The Rust version of the Polkadot Host is being built with Substrate.
- Substrate Docs - Comprehensive documentation and tutorials for building a blockchain using Substrate.
- Substrate VSCode plugin (deprecated).
- Substrate Debug Kit (deprecated) - A collection of debug tools and libraries around substrate chains. Includes tools to calculate NPoS elections offline, disk usage monitoring, test templates against chain state and other pallet-specific helper.
- POP CLI - An all-in-one tool for Polkadot development.
- Zombienet - Testing framework for Substrate based blockchains
- Diener - A tool for easy changing of Polkadot or Substrate dependency versions.
- Polkadot Launch (deprecated) - A tool to easily launch custom local parachain-enabled Polkadot versions.
- Fork-off Substrate - Copies the state of an existing chain into your local version and lets you further experiment on it.
- srtool - A tool for verifying runtime versions against on-chain proposal hashes.
- sub-bench - A tool to spam your node with transactions for the sake of benchmarking.
- substrate-devhub-utils - A set of JavaScript utilities making life with Substrate a little easier.
- sub-flood (archived) - A tool to benchmark Substrate by flooding it with requests.
- Apillon - A Web3 development platform with a complete toolbox and access to Polkadot’s technology stack.
IDEs​
- Astar IDE by Chain IDE is a tool for lightning-speed smart contracts and dApp development for Wasm and EVM.
- Sandox IDE is an integrated development environment (IDE) with tools for building in the Polkadot environment. Currently helpful for creating applications in JS.
UI​
- Polkadash - VueJS-based starter kit for custom user interfaces for Substrate chains.
- Polkadot JS Apps UI - Repository of the polkadot.js.org/apps UI.
- Substrate Front-end Template - ReactJS-based starter UI for custom user interfaces for Substrate chains.
- Polkadot JS Browser Extension - Key management in a Chrome extension.
- PAPI Developer Console
- Polkadot Developer Console
Libraries​
Polkadot-JS API​
The Polkadot-JS API provides various utility functions that are used across all projects in the
@polkadot
namespace and is split into a number of internal utility packages. The documentation and
usage instructions are provided at Polkadot-JS API Documentation.
- @polkadot/keyring This allows you to create and load accounts in JavaScript. It is helpful for creating wallets or any application that will require the user to write to chain. Examples.
- @polkadot/util Utility functions like checking if a string is hex-encoded.
- @polkadot/util-crypto Useful cryptographic utilities for developing with Polkadot.
Alternative Libraries​
The following libraries/SDKs allow for interfacing with a Substrate node in other languages:
- Python Library by Polkascan
- Go Library by Centrifuge
- Java Library by StrategyObject
- Fearless Utils iOS Swift SDK
- Nova Wallet iOS/Swift Substrate SDK
- Kotlin SDK
- Dart/Flutter Library
CLI Tools​
- @polkadot/api-cli Command line interface for the polkadot API. Documentation.
- @polkadot/monitor-rpc An RPC monitor for Polkadot. See the RPC tools below for additional information.
- @polkadot/signer-cli A Tool to construct, sign, and broadcast transactions. Signing can be done offline.
- Polkadot API Cpp - A С++ API for Polkadot, can
build
clip
, a command line tool. - Subkey - Command line utility for generating and inspecting key pairs.
WASM​
WebAssembly related tools and projects.
- ink! - An eDSL to write WebAssembly based smart contracts using the Rust programming language.
- parity-wasm - Low-level WebAssembly format library.
- wasm-utils - Collection of WebAssembly utilities used in pwasm-ethereum and substrate contract development.
- wasmi - A WebAssembly interpreter conceived as a component of parity-ethereum (Ethereum-like contracts in Wasm) and Substrate.
RPC and API Tools​
- @polkadot/api/rpc-provider Demonstrates how the JS tools interact with the node over RPC.
- RPC documentation - Documentation of Substrate RPC methods.
- Polkadot API Server by SimplyVC - A wrapper around the Polkadot API which makes it easier to make Polkadot API calls from any programming language.
- Go: Subscan API - Go API for Polkadot.
- C++ Polkadot API - С++ API for Polkadot.
- .NET Polkadot/Substrate API - Core Framework for Substrate in .NET and connect to nodes.
- .NET Toolchain Polkadot/Substrate API - Toolchain to generate Polkadot/Substrate API & Service Layer for .NET.
- .NET Polkadot API - Polkadot Substrate API for .NET.
- Python Polkadot API - Polkadot library for Python.
- GSRPC - Substrate RPC client in Go, a.k.a. GSRPC.
- Substrate API Sidecar - An HTTP wrapper for Substrate, abstracting some complex RPC calls into simple REST calls.
- Subxt - A Rust library to submit extrinsics to a Substrate node via RPC.
GAME ENGINE SDK​
- Polkadot SDK for Unity - A powerful toolkit that integrates substrate seamless into Unity projects. (AssetStore, wiki).
SCALE Codec​
The SCALE (Simple Concatenated Aggregate Little-Endian) Codec is a lightweight, efficient, binary serialization and deserialization codec.
It is designed for high-performance, copy-free encoding and decoding of data in resource-constrained execution contexts, such as the Substrate runtime. It is not self-describing in any way and assumes the decoding context has all type knowledge about the encoded data.
It is used in almost all communication to/from Substrate nodes, so implementations in different languages exist:
- Substrate Awesome maintains a list of SCALE codex implementations.
Data Crawling and Conversion​
The following tools help you extract and structure data from a Substrate node.
- Parity's Substrate Archive - Can be run alongside a Substrate node to archive all blocks, state, and extrinsic data into PostgreSQL database.
- Subsquid Archives - Generate a GraphQL database from a Substrate chain's data with rich filtering and querying capabilities. The data (events, extrinsics, blocks) for most parachains is readily available though public archive GraphQL endpoints, kept in Squid Archive Registry
- Polka-store - A tool which scans a Substrate chain and stores balance-relevant transactions in an SQLite database.
- Substrate-graph - A compact indexer for Substrate based nodes providing a GraphQL interface.