Tool
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.
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 
- DotScanner - Polkadot & Kusama Blockchain explorer. 
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. 
- Ryabina's Telegram Bot - A Telegram bot for monitoring on-chain events of Substrate chains. GitHub Repository 
- PolkaStats - Polkadot network statistics (includes Kusama). Shows network information and staking details from validators and intentions. 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. 
Clients
- Polkadot - The original Rust implementation of the Polkadot Host. 
- Gossamer - A Go implementation of the Polkadot Host developed by ChainSafe Systems. 
- TX Wrapper - 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 Debug Kit - 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. 
- Diener - A tool for easy changing of Polkadot or Substrate dependency versions. 
- Polkadot Launch - A tool to easily launch custom local parachain-enabled Polkadot versions. 
- Halva - A Truffle-inspired local development environment for Substrate. 
- 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 - A tool to benchmark Substrate by flooding it with requests. 
UI
- 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. 
Libraries
Polkadot-JS Common
Polkadot-JS Common 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/Common 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. 
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 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. 
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:
Data Crawling and Conversion
The following tools help you extract and structure data from a Substrate node.
- Polkascan PRE Harvester (matching explorer for harvested data) - Transforms raw blockchain data into relational data. 
- 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. 
