Files
awesome-awesomeness/html/substrate.html
2024-04-20 19:22:54 +02:00

590 lines
28 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-substrate-awesome">Awesome Substrate <a
href="https://awesome.re"><img src="https://awesome.re/badge-flat.svg"
alt="Awesome" /></a></h1>
<blockquote>
<p>Please see <a
href="https://github.com/haquefardeen/awesome-dot"><code>awesome-dot</code></a>
for a similar list that is more general to the entire Polkadot
ecosystem, not just Substrate.</p>
</blockquote>
<hr />
<blockquote>
<p>An awesome list is a list of awesome things curated by the Substrate
community.</p>
</blockquote>
<p>Substrate is a framework for building upgradable, modular and
efficient blockchains. Substrate is an open-source library of <a
href="https://www.rust-lang.org/">Rust</a> code that is maintained by <a
href="https://www.parity.io/">Parity Technologies</a>. Source code
available on <a
href="https://github.com/paritytech/substrate">GitHub</a>.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#resources">Resources</a></li>
<li><a href="#support">Support</a></li>
<li><a href="#social">Social</a></li>
<li><a href="#events">Events</a></li>
<li><a href="#blogs">Blogs</a></li>
<li><a href="#videos">Videos</a></li>
<li><a href="#templates">Templates</a></li>
<li><a href="#frame-pallets">FRAME Pallets</a></li>
<li><a href="#framework-extensions">Framework Extensions</a></li>
<li><a href="#client-libraries">Client Libraries</a></li>
<li><a href="#mobile">Mobile</a></li>
<li><a href="#tools">Tools</a></li>
<li><a href="#products-and-services">Products and Services</a></li>
<li><a href="#alternative-implementations">Alternative
Implementations</a></li>
<li><a href="#scale-codec">SCALE Codec</a></li>
</ul>
<h2 id="resources">Resources</h2>
<ul>
<li><a href="https://dotjobs.net/">DotJobs</a> - A job board for the
Substrate and Polkadot ecosystem projects, maintained by <a
href="https://stateless.money/">Stateless.Money</a>.</li>
<li><a href="https://github.com/substrate-developer-hub/">Developer Hub
GitHub</a> - Substrate Developer Hub repositories.</li>
<li><a href="https://substrate.io/ecosystem/projects/">Ecosystem
Projects</a> - Projects and teams building with Substrate.</li>
<li><a
href="https://github.com/w3f/Grants-Program/blob/master/docs/polkadot_stack.md">Polkadot
Stack</a> - An <code>awesome list</code> maintained by our friends at <a
href="https://web3.foundation/">Web3 Foundation</a>.</li>
<li><a href="https://substrate.io/">Official Homepage</a> - Vision,
ecosystem, opportunities, and much more.
<ul>
<li><a href="https://docs.substrate.io/">Docs</a> - Developer
documentation.</li>
<li><a href="https://docs.substrate.io/tutorials">Tutorials</a> - Guided
exercises to get you started.</li>
<li><a href="https://docs.substrate.io/how-to-guides">How-to guides</a>
- Workflows outlined to achieve a specific goal.</li>
<li><a href="https://docs.substrate.io/rustdocs">Reference Docs</a> -
Versioned API documentation.</li>
</ul></li>
<li>Technical Papers
<ul>
<li><a href="https://polkadot.network/Polkadot-lightpaper.pdf">Polkadot
Lightpaper</a></li>
<li><a
href="https://github.com/polkadot-io/polkadotpaper/raw/master/PolkaDotPaper.pdf">Polkadot:
Vision for a heterogeneous multi-chain framework</a></li>
<li><a href="https://arxiv.org/abs/2005.13456.pdf">Overview of Polkadot
and its Design Considerations</a>
<ul>
<li><a href="https://github.com/AmadeusGB/Overview-of-Polkadot">Chinese
Translation</a> (by community)</li>
</ul></li>
</ul></li>
</ul>
<h2 id="support">Support</h2>
<ul>
<li><a
href="https://substrate.io/ecosystem/substrate-builders-program/">Builders
Program</a> - White-glove solutions and dedicated support team for
visionary teams using Substrate.</li>
<li><a href="https://substrate.stackexchange.com/">Stack Exchange</a> -
The best place for all technical questions.</li>
<li><a href="https://web3.foundation/grants">Web3 Foundation Grants</a>
- Funding for ecosystem development.</li>
<li><a
href="https://wiki.polkadot.network/docs/learn-treasury#creating-a-treasury-proposal">Polkadot
Treasury</a> - The Treasury funds are allocated through the voting on
spending proposal.</li>
</ul>
<h2 id="social">Social</h2>
<ul>
<li><a href="https://t.me/substratedevs">Substrate Developers Chat
(Telegram)</a> - Chat with other Substrate developers, also bridged to
<a href="https://matrix.to/#/#substratedevs:matrix.org">matrix</a>.</li>
<li><a href="https://twitter.com/substrate_io">Twitter</a> - Follow us
to stay up-to-date.</li>
<li><a href="https://polkaverse.com">Polkaverse</a> - A decentralized
news-feed style social platform for the Polkadot community to discuss,
share knowledge, post ecosystem updates and interact with posts. Built
on top of <a href="https://subsocial.network">Subsocial</a>.</li>
</ul>
<h2 id="events">Events</h2>
<ul>
<li><a href="https://sub0.parity.io/">Sub0 Developer Conference</a> -
Semiannual, online and in-person for all things Substrate.</li>
<li><a
href="https://substrate.io/ecosystem/resources/seminar/">Substrate
Seminar</a> - Bi-weekly collaborative learning sessions.</li>
</ul>
<h2 id="blogs">Blogs</h2>
<ul>
<li><a href="https://dotleap.com/">DotLeap</a> - Polkadot and Substrate
Community blog and newsletter.</li>
<li><a
href="https://www.parity.io/blog/tag/parity-substrate">Official</a> -
Published by Parity.</li>
</ul>
<h2 id="videos">Videos</h2>
<ul>
<li><a href="https://www.youtube.com/c/paritytech">Parity YouTube</a>
<ul>
<li><a
href="https://www.youtube.com/playlist?list=PLp0_ueXY_enXRfoaW7sTudeQH10yDvFOS">Substrate
Seminar (YouTube Archive)</a></li>
<li><a
href="https://youtube.com/playlist?list=PLOyWqupZ-WGvywLqJDsMIYdCn8QEa2ShQ">Sub0
Conference Nov. 2022</a></li>
<li><a
href="https://www.youtube.com/playlist?list=PLp0_ueXY_enUZk1RuEAU9ly5h0wy5FuLs">Sub0
Conference Oct. 2020</a></li>
<li><a
href="https://www.youtube.com/playlist?list=PLp0_ueXY_enWZ4UZE7rM0hdT8Z_ZTjU5V">Sub0
Conference Dec. 2019</a></li>
<li><a
href="https://www.youtube.com/playlist?list=PLp0_ueXY_enWqrfP_vR4PLhzQj76fLT8y">Sub0
Conference Apr. 2019</a></li>
</ul></li>
<li><a
href="https://www.youtube.com/playlist?list=PLOyWqupZ-WGuAuS00rK-pebTMAOxW41W8">Polkadot
Network Technical Explainers</a></li>
<li><a href="https://www.twitch.tv/polkadotdev">Substrate Seminar
Twitch</a> - Biweekly stream hosted by Polkadot Developers Twitch.
<ul>
<li><a href="https://www.crowdcast.io/e/substrate-seminar-2/">Old
Seminar Crowdcast</a> - Seminar archive.</li>
<li><a href="https://www.crowdcast.io/e/substrate-seminar/">Older
Seminar Crowdcast</a> - Older still Seminar archive.</li>
</ul></li>
<li><a href="https://www.youtube.com/watch?v=0IoUZdDi5Is">Substrate: A
Rustic Vision for Polkadot by Gavin Wood at Web3 Summit 2018</a></li>
</ul>
<h2 id="templates">Templates</h2>
<ul>
<li><a
href="https://github.com/substrate-developer-hub/substrate-node-template">Base</a>
- Minimal FRAME-based node, derived from <a
href="https://github.com/paritytech/substrate/tree/master/bin/node-template">upstream</a>.</li>
<li><a
href="https://github.com/paritytech/frontier/tree/master/template">Frontier</a>
- Fronter enabled EVM and Ethereum RPC compatible Substrate node, ready
for hacking.</li>
<li><a
href="https://github.com/substrate-developer-hub/substrate-front-end-template">Front-End</a>
- Polkadot-JS API and <a href="https://reactjs.org/">React</a> app to
build front-ends for Substrate-based chains.</li>
<li><a
href="https://github.com/substrate-developer-hub/substrate-parachain-template">Parachain</a>
- Cumulus enabled Substrate node, derived from <a
href="https://github.com/paritytech/cumulus/tree/master/parachain-template">upstream</a>.</li>
<li><a
href="https://github.com/kaichaosun/substrate-stencil"><code>substrate-stencil</code></a>
- A template for a Substrate node that includes staking and governance
capabilities.</li>
<li><a
href="https://github.com/kianenigma/polkadot-js-api-ts-template">polkadot-js-api-ts-template</a>
- A template project to kickstart hacking on top of
<code>@polkadot/api</code>.</li>
<li><a href="https://inkathon.xyz/">INK!athon</a> - Full-stack dApp
boilerplate with ink! smart contracts and a React frontend using the
<code>useInkathon</code> (listed below) hooks library maintained by <a
href="https://scio.xyz">Scio Labs</a>.</li>
<li><a
href="https://docs.subsocial.network/docs/develop/developer-quickstart">Subsocial
Starter Kit</a> - A starter-kit for building web3 social apps for the
Polkadot ecosystem, powered by the <a
href="https://subsocial.network">Subsocial blockchain</a>.</li>
</ul>
<h2 id="frame-pallets">FRAME Pallets</h2>
<ul>
<li><a
href="https://github.com/smartcontractkit/chainlink-polkadot">Chainlink
Feed Pallet</a> - Chainlink feed token interface.</li>
<li><a
href="https://github.com/paritytech/substrate/tree/master/frame">Official
in Substrate</a> - Large collection, Parity maintained.</li>
<li><a
href="https://github.com/open-web3-stack/open-runtime-module-library">Open
Runtime Module Library (ORML)</a> - Community maintained collection of
Substrate runtime modules.</li>
<li><a
href="https://github.com/sunshine-protocol/sunshine-bounty/tree/master/pallets">Sunshine
Bounty</a> - Distributed autonomous organization (DAO) for administering
a bounty program.</li>
<li><a
href="https://github.com/sunshine-protocol/sunshine-keybase/tree/master/identity/pallet">Sunshine
Identity</a> - Keybase-inspired identity management.</li>
<li><a
href="https://github.com/sunshine-protocol/sunshine-keybase/tree/master/faucet/pallet">Sunshine
Faucet</a> - Dispense resources for a development chain.</li>
<li><a href="https://github.com/rmrk-team/rmrk-substrate">RMRK
Pallets</a> - Nested, conditional &amp; Multi-resourced NFTs.</li>
</ul>
<h2 id="framework-extensions">Framework Extensions</h2>
<ul>
<li><a
href="https://github.com/paritytech/parity-bridges-common">Bridges</a> -
A collection of tools for cross-chain communication.</li>
<li><a href="https://github.com/paritytech/cumulus">Cumulus</a> - A set
of tools for writing Substrate-based Polkadot parachains.</li>
<li><a href="https://docs.substrate.io/v3/runtime/frame/">FRAME</a> - A
system for building Substrate runtimes.</li>
<li><a href="https://github.com/paritytech/frontier">Frontier</a> -
End-to-end Ethereum emulation for Substrate chains.</li>
<li><a href="https://github.com/paritytech/ink">ink!</a> - Rust smart
contract language for Substrate chains.</li>
<li><a href="https://book.integritee.network/">IntegriTEE</a> - Trusted
off-chain execution framework that uses <a
href="https://en.wikipedia.org/wiki/Software_Guard_Extensions">Intel
SGX</a> trusted execution environments.</li>
<li><a href="https://polkadot.js.org/">Polkadot-JS</a> - Rich JavaScript
API framework for front-end development.</li>
</ul>
<h2 id="client-libraries">Client Libraries</h2>
<ul>
<li><a href="https://github.com/usetech-llc/polkadot_api_dotnet">.Net
API</a> - Maintained by <a
href="https://usetech.com/blockchain/">Usetech</a>.</li>
<li><a href="https://github.com/ajuna-network/Ajuna.NetApi">.NET
Substrate API</a> - Used in <a
href="https://www.nuget.org/packages/Ajuna.NetApi/">nuget</a>, and <a
href="https://github.com/ajuna-network/SubstrateNET/tree/master/SubstrateNET.UnityDemo">Unity
Example</a>; Maintained by <a href="https://ajuna.io/">Ajuna
Network</a>.</li>
<li><a href="https://github.com/ajuna-network/Ajuna.SDK">.NET
Toolchain/SDK</a> - Toolchain for Substrate .NET. Pre-generated <a
href="https://github.com/ajuna-network/SubstrateNET">SubstrateNET</a>;
Maintained by Ajuna Network.</li>
<li><a
href="https://github.com/Aphoh/go-substrate-gen"><code>go-substrate-gen</code></a>
- Generate Go (de)serialization/client code from Substrate
metadata.</li>
<li><a
href="https://github.com/virto-network/sube"><code>sube</code></a> -
Lightweight Rust client library and CLI with support for type
information.</li>
<li><a
href="https://github.com/paritytech/substrate-subxt"><code>subxt</code></a>
- Official Rust client.</li>
<li><a href="https://github.com/usetech-llc/polkadot_api_cpp">C++
API</a> - Maintained by Usetech.</li>
<li><a href="https://github.com/centrifuge/go-substrate-rpc-client/">Go
RPC Client</a> - Maintained by <a
href="https://centrifuge.io/">Centrifuge</a>.</li>
<li><a
href="https://github.com/NodleCode/substrate-client-kotlin">Kotlin
Client</a> - Maintained by <a
href="https://github.com/NodleCode">Nodle.io</a>.</li>
<li><a href="https://github.com/polkadot-js/api/">Polkadot-JS API</a> -
Semi-official JavaScript library for Substrate-based chains.</li>
<li><a href="https://github.com/polkascan/py-substrate-interface">Python
Interface</a> - Maintained by <a href="https://polkascan.org/">Polkascan
Foundation</a>.</li>
<li><a href="https://github.com/scs/substrate-api-client">Rust API
Client</a> - Rust client maintained by <a
href="https://www.scs.ch/">Supercomputers Systems AG</a>.</li>
<li><a href="https://github.com/itering/subscan-essentials">Subscan Go
Utilities</a> - SS58 and more, developed by Subscan.</li>
<li><a
href="https://github.com/kodadot/packages/tree/main/sub-api">Sub-Api</a>
- Friendly wrapper for Polkadot.js API maintained by KodaDot.</li>
<li><a
href="https://github.com/scio-labs/use-inkathon"><code>useInkathon</code></a>
- Typesafe React Hooks library abstracting functionality by polkadot.js
for working with Substrate-based networks and ink! smart contracts
maintained by Scio Labs.</li>
<li><a href="https://github.com/dappforce/subsocial-js">Subsocial JS
SDK</a> - A JS SDK for developers to build web3 social apps on top of
Subsocial.</li>
</ul>
<h2 id="mobile">Mobile</h2>
<ul>
<li><a
href="https://github.com/soramitsu/fearless-utils-Android">Fearless
Utils Android</a> - Android Substrate tools.</li>
<li><a href="https://github.com/soramitsu/fearless-utils-iOS">Fearless
Utils iOS</a> - iOS Substrate tools.</li>
<li><a href="https://github.com/nova-wallet/substrate-sdk-android">Nova
Substrate SDK Android</a> - Substrate SDK and tools for Android.</li>
<li><a href="https://github.com/nova-wallet/substrate-sdk-ios">Nova
Substrate SDK iOS</a> - Substrate SDK and tools for iOS.</li>
<li><a
href="https://github.com/Pocket4D/Polkadot-Dart">Polkadot-Dart</a> -
Dart Substrate API.</li>
<li><a href="https://github.com/polkawallet-io/sdk">PolkaWallet SDK</a>
- Flutter SDK for Substrate-based App.</li>
<li><a
href="https://github.com/paritytech/react-native-substrate-sign">React-Native-Substrate-Sign</a>
- Rust library for React Native.</li>
</ul>
<h2 id="tools">Tools</h2>
<ul>
<li><a
href="https://github.com/paritytech/substrate-debug-kit/tree/master/offline-election"><code>offline-election</code></a>
- Tool to predict nominated proof-of-stake elections.</li>
<li><a
href="https://rs-ipfs.github.io/offchain-ipfs-manual/"><code>offchain::ipfs</code></a>
- Substrate infused with <a href="https://ipfs.io/">IPFS</a>.</li>
<li><a
href="https://github.com/shawntabrizi/polkadot-js-bundle"><code>polkadot-js-bundle</code></a>
- A standalone JS bundle that contains Polkadot{JS} libraries.</li>
<li><a
href="https://github.com/shawntabrizi/polkadot-launch"><code>polkadot-launch</code></a>
- Simple CLI tool to launch a local Polkadot test network.</li>
<li><a
href="https://github.com/paritytech/polkadot-runtime-prom-exporter/"><code>polkadot-runtime-prom-exporter</code></a>
- A <a href="https://prometheus.io/">Prometheus</a> exporter for
Polkadot runtime metrics (modifiable for Substrate use).</li>
<li><a
href="https://github.com/paritytech/polkadot-scripts"><code>polkadot-scripts</code></a>
- A collection of scripts Parity uses to diagnose Polkadot/Kusama.</li>
<li><a
href="https://github.com/koute/polkadot-starship"><code>polkadot-starship</code></a>
- Another tool to launch a local Polkadot test network, with emphasis on
the ability to run big testnets.</li>
<li><a
href="https://github.com/chevdor/srtool-actions"><code>srtool-actions</code></a>
- GitHub actions to easily use the <code>srtool</code> Docker image to
build your own runtime.</li>
<li><a
href="https://github.com/chevdor/srtool-cli"><code>srtool-cli</code></a>
- CLI frontend for the <code>srtool</code> Docker image.</li>
<li><a
href="https://github.com/paritytech/srtool"><code>srtool</code></a> -
Docker image to deterministically build a runtime.</li>
<li><a href="https://github.com/ascjones/subsee"><code>subsee</code></a>
- CLI to inspect metadata of a Substrate node as JSON.</li>
<li><a
href="https://github.com/hack-ink/subalfred"><code>subalfred</code></a>
- An all-in-one Substrate development toolbox.</li>
<li><a
href="https://github.com/shawntabrizi/substrate-balance-calculator"><code>substrate-balance-calculator</code></a>
- Breakdown the balances of your Substrate account.</li>
<li><a
href="https://github.com/shawntabrizi/substrate-balance-graph"><code>substrate-balance-graph</code></a>
- Create a graph of the token balance over time of a Substrate
address.</li>
<li><a
href="https://github.com/shawntabrizi/substrate-graph-benchmarks"><code>substrate-graph-benchmarks</code></a>
- Graph the benchmark output of FRAME pallets.</li>
<li><a
href="https://github.com/shawntabrizi/substrate-js-utilities"><code>substrate-js-utils</code></a>
- A set of useful JavaScript utilities for Substrate that uses the
Polkadot{JS} API; Also <a
href="https://www.shawntabrizi.com/substrate-js-utilities/">deployed as
a website</a>.</li>
<li><a
href="https://github.com/shawntabrizi/substrate-society"><code>substrate-society</code></a>
- A basic front-end for the FRAME Society pallet.</li>
<li><a
href="https://github.com/shawntabrizi/substrate-toml-lint"><code>substrate-toml-lint</code></a>
- A toml parser and checker to avoid common errors in Substrate
projects.</li>
<li><a
href="https://github.com/chevdor/subwasm"><code>subwasm</code></a> - CLI
to inspect a runtime WASM blob offline. It shows information, metadata
and can compare runtimes. It can also help you fetch a runtime directly
from a node.</li>
<li><a href="https://github.com/clearloop/sup"><code>sup</code></a> -
Command line tool for generating or upgrading a Substrate node.</li>
<li><a
href="https://github.com/paritytech/scale-value"><code>scale-value</code></a>
- Analogous to <code>serde_json</code> but for SCALE; Library to decode
arbitrary SCALE encoded bytes into a dynamic <code>Value</code> given
type info from <code>scale-info</code>.</li>
<li><a
href="https://github.com/paritytech/scale-decode"><code>scale-decode</code></a>
- Decode SCALE bytes into arbitrary custom types by implementing a
visitor trait.</li>
<li><a href="https://aleph.im">Aleph.im</a> - Scalable, decentralized
database, file storage, and computation services for Substrate chains
and more.</li>
<li><a
href="https://github.com/paritytech/substrate-archive">Archive</a> -
Indexing engine for Substrate chains.</li>
<li><a href="https://github.com/danforbes/substrate-devhub-utils">Dev
Hub Utils</a> - <em>Unofficial</em> utilities for working with official
Substrate Developer Hub resources.</li>
<li><a href="https://github.com/patractlabs/europa">Europa</a> - A
sandbox for the Substrate runtime execution environment.</li>
<li><a href="https://github.com/maxsam4/fork-off-substrate">Fork Off
Substrate</a> - Script to help bootstrap a new chain with the state of a
running chain.</li>
<li><a href="https://github.com/centrifuge/fudge">fudge</a> - Core lib
for accessing and (arbitrarily) manipulating substrate databases,
including the building and importing of local blocks.</li>
<li><a href="https://github.com/gantree-io/gantree-lib-nodejs">Gantree
Library</a> - A suite of technologies for managing Substrate-powered
parachain networks via rapid spin-up &amp; tear-down.</li>
<li><a href="https://github.com/halva-suite/halva">Halva</a> - A
toolchain for improving the experience of developing on Substrate.</li>
<li><a href="https://github.com/Joystream/hydra">Hydra</a> - A GraphQL
framework for Substrate nodes.</li>
<li><a href="https://github.com/patractlabs/jupiter">Jupiter</a> -
Testnet for smart contracts written for the FRAME Contracts pallet and
ink!.</li>
<li><a href="https://github.com/patractlabs/megaclite">Megaclite</a> -
Zero-knowledge tools for the Polkadot ecosystem.</li>
<li><a href="https://nova-wallet.github.io/metadata-portal/">Metadata
Portal</a> - A self-hosted webpage that shows the latest metadata and
chain specs for any given network.</li>
<li><a href="https://github.com/kodadot/packages">Minimark</a> -
Implementation of RMRK NFT v1/v2 protocol maintained by KodaDot.</li>
<li><a href="https://github.com/nova-wallet/nova-utils">Nova Polkadot
Utils</a> - Contains static info &amp; metadata to support client apps
in Polkadot ecosystem to map it to various netowrks.</li>
<li><a href="https://signer.parity.io/">Polkadot Vault</a> (formerly
Parity Signer) - Upcycle an unused mobile phone into an air-gapped
hardware wallet.</li>
<li><a href="https://github.com/SimplyVC/panic_polkadot">Polkadot
PANIC</a> - Monitoring and alerting solution for Polkadot nodes by
Simply VC, compatible with many Substrate chains.</li>
<li><a
href="https://wiki.polkadot.network/docs/build-tools-index">Polkadot
Tool Index</a> - List of tools available for your development with
Polkadot and any Substrate chain including Block Explorers, Wallets,
Network Monitoring &amp; Reporting, Clients, Benchmarking, Fuzzing,
Forking, SCALE Codec, CLI Tools and much more.</li>
<li><a href="https://polkadot.js.org/apps/">Polkadot-JS Apps UI</a> -
Semi-official block explorer &amp; front-end for Substrate-based
chains.</li>
<li><a href="https://github.com/polkadot-js/extension">Polkadot-JS
Extension</a> - Browser extension for interacting with Substrate-based
chains.</li>
<li><a href="https://polkascan.io/">Polkascan</a> - Multi-chain block
explorer maintained by Polkascan Foundation.</li>
<li><a href="https://github.com/emostov/proxy-hot-wallet">Proxy Hot
Wallet Demo</a> - A demonstration of a secure, convenient, and flexible
hot wallet architecture built on Substrate primitives.</li>
<li><a href="https://github.com/patractlabs/redspot">Redspot</a> - A <a
href="https://www.trufflesuite.com/truffle">Truffle</a>-like toolkit for
smart contracts for the FRAME Contracts pallet and ink!.</li>
<li><a
href="https://github.com/paritytech/substrate-api-sidecar">Sidecar</a> -
REST service that runs alongside Substrate nodes.</li>
<li><a href="https://polkadot.subscan.io/tools/ss58_transform">SS58
Transform</a> - Display keys addressees with all SS58 prefixes.</li>
<li><a href="https://github.com/w3f/staking-rewards-collector">Staking
Rewards Collector</a> - A script to parse and output staking rewards for
a given Kusama or Polkadot address and cross-reference them with daily
price data.</li>
<li><a
href="https://docs.substrate.io/reference/command-line-tools/subkey/">Subkey</a>
- Command line utility for working with cryptographic keys.</li>
<li><a href="https://subquery.network">SubQuery</a> - A GraphQL indexer
and query service that allows users to easily create indexed data
sources and host them online for free.
<ul>
<li><a href="https://github.com/nova-wallet/subquery-nova">Nova SubQuery
API</a> - A SubQuery API implementation for operation history and
staking analytics.</li>
</ul></li>
<li><a href="https://www.subscan.io/">Subscan</a> - Multi-network
explorer for Substrate-based chains.</li>
<li><a href="https://subsquid.io">Subsquid</a> - An indexing framework
(SDK + infrastructure) to quickly and easily turn Substrate and EVM
on-chain data into APIs and host them.</li>
<li><a href="https://github.com/arrudagates/substate">Substate</a> -
100% no-std/wasm compatible Substrate storage key generator library for
Rust.</li>
<li><a
href="https://github.com/paritytech/substrate-debug-kit">Substrate
debug-kit</a> - A collection of tools and libraries for debugging
Substrate-based chains.</li>
<li><a
href="https://github.com/ETeissonniere/substrate-nodeops">Substrate
Docker Builders</a> - A set of Dockerfiles and GitHub Actions to
auto-build and push a Docker image for Substrate-based chains.</li>
<li><a href="https://github.com/starkleytech/substrate-faucet">Substrate
Faucet Bot</a> - Python-based faucet for development purposes.</li>
<li><a href="https://github.com/playzero/substrate-graph">Substrate
Graph</a> - GraphQL indexer for Substrate-based chains.</li>
<li><a
href="https://github.com/Supercolony-net/typechain-polkadot">Typechain-Polkadot</a>
- Hepls users to generate typescript types from contract ABIs (ink!) and
generate runtime code to interact with contracts and deploy them.</li>
<li><a href="https://github.com/paritytech/txwrapper">TxWrapper</a> -
Helpful library for offline transaction creation.</li>
<li><a
href="https://marketplace.visualstudio.com/items?itemName=paritytech.vscode-substrate">VSCode
Substrate</a> - Plugin for Visual Studio Code.</li>
<li><a href="https://polkaholic.io">Polkaholic.io</a> - Multi-chain
block explorer with API and DeFi support across 40+ parachains.</li>
<li><a href="https://github.com/dappforce/subid">SubID</a> - An advanced
cross-chain portfolio management tool for the Polkadot ecosystem,
allowing any user to see their balances across chains; view their
crowdloan history; view their NFTs across Polkadot ecosystem chains;
claim their vested tokens and perform cross-chain transfers.</li>
<li><a href="https://play.subsocial.network">Subsocial SDK
Playground</a> - Subsocial JS SDK Playground allows you to fetch spaces,
send transactions on blockchain and test the SDK code snippets on the go
without the need to download or setup anything locally.</li>
<li><a href="https://github.com/uptest-sc/uptest">Uptest Runtime upgrade
tool</a> - Uptest command line client and libuptest Rust library are two
tools used for debugging storage changes and runtime upgrades.</li>
</ul>
<h2 id="products-and-services">Products and Services</h2>
<ul>
<li><a href="https://onfinality.io">OnFinality</a> - Free and paid
services to shared Substrate based nodes.</li>
<li><a href="https://privhost.laissez-faire.trade/">PrivHost</a> -
Public Tor .onion supported nodes for Polkadot, Kusama and
Edgeware.</li>
<li><a href="https://paritytech.github.io/devops-guide/">Substrate
Devops Guide</a> - Parity devops teams configuration and guidance on
deploying, monitoring, and maintaining node infrastructure.</li>
</ul>
<h2 id="alternative-implementations">Alternative Implementations</h2>
<ul>
<li><a href="https://github.com/ChainSafe/gossamer">Gossamer</a> - A
Polkadot client implemented in Go; from <a
href="https://chainsafe.io/">ChainSafe</a>.</li>
<li><a href="https://kagome.readthedocs.io/en/latest/">Kagome</a> - A
C++17 implementation of the Polkadot client; from <a
href="http://www.soramitsu.co.jp/">Soramitsu</a>.</li>
<li><a
href="https://github.com/LimeChain/as-substrate-runtime">LimeChain
AssemblyScript Runtime</a> - An account-based Substrate proof-of-concept
runtime written in AssemblyScript; from <a
href="https://limechain.tech/">LimeChain</a>.</li>
</ul>
<h2 id="scale-codec">SCALE Codec</h2>
<ul>
<li><a
href="https://github.com/LimeChain/as-scale-codec">AssemblyScript</a> -
Maintained by LimeChain.</li>
<li><a href="https://github.com/MatthewDarnell/cScale">C</a> -
Maintained by Matthew Darnell.</li>
<li><a href="https://github.com/soramitsu/scale-codec-cpp">C++</a> -
Maintained by Soramitsu.</li>
<li><a href="https://docs.substrate.io/v3/advanced/scale-codec/">Codec
Definition</a> - Official codec documentation.</li>
<li><a href="https://github.com/itering/scale.go">Go</a> - Maintained by
<a href="https://www.itering.com/">Itering</a>.</li>
<li><a
href="https://github.com/airalab/hs-web3/tree/master/src/Codec">Haskell</a>
- Maintained by <a href="https://robonomics.network/">Robonomics
Network</a>.</li>
<li><a
href="https://github.com/emeraldpay/polkaj/tree/master/polkaj-scale">Java</a>
- Maintained by <a href="https://emerald.cash/">Emerald</a>.</li>
<li><a href="https://github.com/paritytech/parity-scale-codec">Parity
SCALE Codec</a> - Reference implementation written in Rust.</li>
<li><a href="https://github.com/polkascan/py-scale-codec">Python</a> -
Maintained by Polkascan Foundation.</li>
<li><a href="https://github.com/itering/scale.rb">Ruby</a> - Maintained
by Itering.</li>
<li><a href="https://github.com/virto-network/scales">Scales</a> -
Serializing SCALE using type information from a type registry.</li>
<li>JavaScript / TypeScript implementations:
<ul>
<li><a
href="https://github.com/paritytech/parity-scale-codec-ts">paritytech/parity-scale-codec-ts</a>
- Maintained by Parity Technologies.</li>
<li><a
href="https://github.com/polkadot-js/api/tree/master/packages/types">polkadot-js/api</a>
- Maintained by Polkadot-JS.</li>
<li><a
href="https://github.com/unstoppablejs/unstoppablejs/tree/main/packages/scale-ts#scale-ts">scale-ts</a>
- Maintained by Josep M Sobrepere.</li>
<li><a
href="https://github.com/soramitsu/scale-codec-js-library">soramitsu/scale-codec-js-library</a>
- Maintained by Soramitsu.</li>
</ul></li>
</ul>