# 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](https://wiki.polkadot.network/docs/contributing).

### Wallets[​](https://wiki.polkadot.network/docs/build-tools-index#wallets) <a href="#wallets" id="wallets"></a>

Please see the [Wallets](https://wiki.polkadot.network/docs/build-wallets) page.

### Block Explorers[​](https://wiki.polkadot.network/docs/build-tools-index#block-explorers) <a href="#block-explorers" id="block-explorers"></a>

* [Polkadot-JS Apps Explorer](https://polkadot.js.org/apps/#/explorer) - Polkadot dashboard block explorer. Supports dozens of other networks, including Kusama, Westend, and other remote or local endpoints. [Access via IPFS](https://ipfs.io/ipns/dotapps.io)
* [Polkascan](https://polkascan.io/) - Blockchain explorer for Polkadot, Kusama, and other related chains. [Repo](https://github.com/polkascan/polkascan-os).
* [Subscan](https://subscan.io/) - Blockchain explorer for Substrate chains. [Repo](https://github.com/itering/subscan-essentials).
* [DotScanner](https://dotscanner.com/?utm_source=polkadot_wiki) - Polkadot & Kusama Blockchain explorer.

### Network Monitoring & Reporting[​](https://wiki.polkadot.network/docs/build-tools-index#network-monitoring--reporting) <a href="#network-monitoring--reporting" id="network-monitoring--reporting"></a>

* [Polkadot Telemetry Service](https://telemetry.polkadot.io/) - Network information including what nodes are running the chain, what software versions they are running, sync status, and location.
* [Polkabot](https://gitlab.com/Polkabot) - Polkadot network monitoring and reporting using Matrix (Riot / Element) chat. Users may create custom bot plugins. [Blogpost](https://medium.com/polkadot-network/polkabot-a3dba18c20c8).
* [Ryabina's Telegram Bot](https://github.com/Ryabina-io/substratebot) - A Telegram bot for monitoring on-chain events of Substrate chains. [GitHub Repository](https://gitlab.com/Polkabot/polkabot)
* [PolkaStats](https://polkastats.io/) - Polkadot network statistics (includes Kusama). Shows network information and staking details from validators and intentions. [GitHub Repository](https://github.com/Colm3na/polkastats-v2/).
* [Panic](https://github.com/SimplyVC/panic_polkadot) - A node monitoring and alert server for validators.
* [OpenWeb3/Guardian](https://github.com/open-web3-stack/guardian) - A CLI tool and JS library to monitor on chain states and events.

### Clients[​](https://wiki.polkadot.network/docs/build-tools-index#clients) <a href="#clients" id="clients"></a>

* [Polkadot](https://github.com/paritytech/polkadot) - The original Rust implementation of the Polkadot Host.
* [Kagome](https://github.com/soramitsu/kagome) - A C++ Polkadot implementation of the Polkadot Host developed by [Soramitsu](https://github.com/soramitsu).
* [Gossamer](https://github.com/ChainSafe/gossamer) - A Go implementation of the Polkadot Host developed by [ChainSafe Systems](https://chainsafe.io/).
* [TX Wrapper](https://github.com/paritytech/txwrapper) - Helper functions for offline transaction generation.

### Tools[​](https://wiki.polkadot.network/docs/build-tools-index#tools) <a href="#tools" id="tools"></a>

* [Substrate](https://github.com/paritytech/substrate) - Blockchain development platform written in Rust. The Rust version of the Polkadot Host is being built with Substrate.
* [Substrate Docs](https://docs.substrate.io/) - Comprehensive documentation and tutorials for building a blockchain using Substrate.
* [Substrate VSCode plugin](https://github.com/paritytech/vscode-substrate).
* [Substrate Debug Kit](https://github.com/paritytech/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](https://crates.io/crates/diener) - A tool for easy changing of Polkadot or Substrate dependency versions.
* [Polkadot Launch](https://github.com/shawntabrizi/polkadot-launch) - A tool to easily launch custom local parachain-enabled Polkadot versions.
* [Halva](https://github.com/halva-suite/halva) - A Truffle-inspired local development environment for Substrate.
* [Fork-off Substrate](https://github.com/maxsam4/fork-off-substrate) - Copies the state of an existing chain into your local version and lets you further experiment on it.
* [srtool](https://www.chevdor.com/tags/srtool/) - A tool for verifying runtime versions against on-chain proposal hashes.
* [sub-bench](https://github.com/nikvolf/sub-bench) - A tool to spam your node with transactions for the sake of benchmarking.
* [substrate-devhub-utils](https://github.com/danforbes/substrate-devhub-utils) - A set of JavaScript utilities making life with Substrate a little easier.
* [sub-flood](https://github.com/NikVolf/sub-flood) - A tool to benchmark Substrate by flooding it with requests.

### UI[​](https://wiki.polkadot.network/docs/build-tools-index#ui) <a href="#ui" id="ui"></a>

* [Polkadash](https://github.com/Swader/polkadash) - VueJS-based starter kit for custom user interfaces for Substrate chains. [Tutorials](https://dotleap.com/tag/tutorial/).
* [Polkadot JS Apps UI](https://github.com/polkadot-js/apps) - Repository of the [polkadot.js.org/apps](https://polkadot.js.org/apps) UI.
* [Substrate Front-end Template](https://github.com/substrate-developer-hub/substrate-front-end-template) - ReactJS-based starter UI for custom user interfaces for Substrate chains.
* [Polkadot JS Browser Extension](https://github.com/polkadot-js/extension) - Key management in a Chrome extension.

### Libraries[​](https://wiki.polkadot.network/docs/build-tools-index#libraries) <a href="#libraries" id="libraries"></a>

#### Polkadot-JS Common[​](https://wiki.polkadot.network/docs/build-tools-index#polkadot-js-common) <a href="#polkadot-js-common" id="polkadot-js-common"></a>

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](https://polkadot.js.org/common/).

* [@polkadot/keyring](https://polkadot.js.org/common/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](https://polkadot.js.org/docs/keyring/start/create).
* [@polkadot/util](https://polkadot.js.org/common/util/) Utility functions like checking if a string is hex-encoded.
* [@polkadot/util-crypto](https://polkadot.js.org/common/util-crypto/) Useful cryptographic utilities for developing with Polkadot.

#### CLI Tools[​](https://wiki.polkadot.network/docs/build-tools-index#cli-tools) <a href="#cli-tools" id="cli-tools"></a>

* [@polkadot/api-cli](https://github.com/polkadot-js/tools/tree/master/packages/api-cli) Command line interface for the polkadot API. [Documentation](https://polkadot.js.org/docs/api/start).
* [@polkadot/monitor-rpc](https://github.com/polkadot-js/tools/tree/master/packages/monitor-rpc) An RPC monitor for Polkadot. See the RPC tools below for additional information.
* [@polkadot/signer-cli](https://github.com/polkadot-js/tools/tree/master/packages/signer-cli) A Tool to construct, sign, and broadcast transactions. Signing can be done offline.
* [Polkadot API Cpp](https://github.com/usetech-llc/polkadot_api_cpp) - A С++ API for Polkadot, can build `clip`, a command line tool.
* [Subkey](https://docs.substrate.io/v3/tools/subkey/) - Command line utility for generating and inspecting key pairs.

#### WASM[​](https://wiki.polkadot.network/docs/build-tools-index#wasm) <a href="#wasm" id="wasm"></a>

WebAssembly related tools and projects.

* [ink!](https://github.com/paritytech/ink/) - An eDSL to write WebAssembly based smart contracts using the Rust programming language.
* [parity-wasm](https://github.com/paritytech/parity-wasm) - Low-level WebAssembly format library.
* [wasm-utils](https://github.com/paritytech/wasm-utils) - Collection of WebAssembly utilities used in pwasm-ethereum and substrate contract development.
* [wasmi](https://github.com/paritytech/wasmi) - A WebAssembly interpreter conceived as a component of parity-ethereum (Ethereum-like contracts in Wasm) and Substrate.

#### RPC and API Tools[​](https://wiki.polkadot.network/docs/build-tools-index#rpc-and-api-tools) <a href="#rpc-and-api-tools" id="rpc-and-api-tools"></a>

* [@polkadot/api/rpc-provider](https://github.com/polkadot-js/api/tree/master/packages/rpc-provider) Demonstrates how the JS tools interact with the node over RPC.
* [RPC documentation](https://polkadot.js.org/docs/substrate/rpc) - Documentation of Substrate RPC methods.
* [Polkadot API Server by SimplyVC](https://github.com/SimplyVC/polkadot_api_server) - A wrapper around the Polkadot API which makes it easier to make Polkadot API calls from any programming language.
* [Go: Subscan API](https://github.com/itering/substrate-api-rpc) - Go API for Polkadot.
* [C++ Polkadot API](https://github.com/usetech-llc/polkadot_api_cpp) - С++ API for Polkadot.
* [.NET Polkadot API](https://github.com/usetech-llc/polkadot_api_dotnet) - Polkadot Substrate API for .NET.
* [Python Polkadot API](https://github.com/polkascan/py-substrate-interface) - Polkadot library for Python.
* [GSRPC](https://github.com/centrifuge/go-substrate-rpc-client/) - Substrate RPC client in Go, a.k.a. GSRPC.
* [Substrate API Sidecar](https://github.com/paritytech/substrate-api-sidecar) - An HTTP wrapper for Substrate, abstracting some complex RPC calls into simple REST calls.
* [Subxt](https://github.com/paritytech/substrate-subxt) - A Rust library to submit extrinsics to a Substrate node via RPC.

#### SCALE Codec[​](https://wiki.polkadot.network/docs/build-tools-index#scale-codec) <a href="#scale-codec" id="scale-codec"></a>

The [SCALE](https://docs.substrate.io/v3/advanced/scale-codec/) (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:

* [Ruby](https://github.com/itering/scale.rb)
* [Rust](https://github.com/paritytech/parity-scale-codec)
* [Go](https://github.com/itering/scale.go)
* [C++](https://github.com/soramitsu/kagome/tree/master/core/scale)
* [TypeScript](https://github.com/polkadot-js/api)
* [AssemblyScript](https://github.com/LimeChain/as-scale-codec)
* [Haskell](https://github.com/airalab/hs-web3/tree/master/src/Codec)
* [Java](https://github.com/emeraldpay/polkaj)
* [Python](https://github.com/polkascan/py-scale-codec)

### Data Crawling and Conversion[​](https://wiki.polkadot.network/docs/build-tools-index#data-crawling-and-conversion) <a href="#data-crawling-and-conversion" id="data-crawling-and-conversion"></a>

The following tools help you extract and structure data from a Substrate node.

* [Polkascan PRE Harvester](https://github.com/polkascan/polkascan-pre-harvester) ([matching explorer for harvested data](https://github.com/polkascan/polkascan-pre-explorer-gui)) - Transforms raw blockchain data into relational data.
* [Parity's Substrate Archive](https://github.com/paritytech/substrate-archive) - Can be run alongside a Substrate node to archive all blocks, state, and extrinsic data into PostgreSQL database.
* [Subsquid Archives](https://github.com/subsquid/squid-archive-setup) - 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](https://github.com/subsquid/archive-registry/blob/main/archives.json)
* [Polka-store](https://github.com/TheGoldenEye/polka-store) - A tool which scans a Substrate chain and stores balance-relevant transactions in an SQLite database.
* [Substrate-graph](https://github.com/playzero/substrate-graph) - A compact indexer for Substrate based nodes providing a GraphQL interface.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pirlmeet.com/faq/build/tool.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
