590 lines
28 KiB
HTML
590 lines
28 KiB
HTML
<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 & 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 & 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 & 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 & 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 & 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 key’s 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 team’s 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>
|