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.
- Polkadot UI - A library and platform for developing and publishing assets for Polkadot dapps.
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.