Git Product home page Git Product logo

substrate-developer-hub / awesome-substrate Goto Github PK

View Code? Open in Web Editor NEW
724.0 39.0 139.0 221 KB

A curated list of awesome projects and resources related to the Substrate blockchain development framework.

Home Page: https://substrate.io/ecosystem/resources/awesome-substrate

License: The Unlicense

substrate polkadot blockchain rust kusama cryptocurrency cryptography networking consensus distributed-systems decentralization awesome awesome-list

awesome-substrate's Introduction

Awesome Substrate Awesome

Please see awesome-dot for a similar list that is more general to the entire Polkadot ecosystem, not just Substrate.


An awesome list is a list of awesome things curated by the Substrate community.

Substrate is a framework for building upgradable, modular and efficient blockchains. Substrate is an open-source library of Rust code that is maintained by Parity Technologies. Source code available on GitHub.

Contents

Resources

Support

Social

Events

Blogs

  • DotLeap - Polkadot and Substrate Community blog and newsletter.
  • Official - Published by Parity.

Videos

Templates

  • Base - Minimal FRAME-based node, derived from upstream.
  • Frontier - Fronter enabled EVM and Ethereum RPC compatible Substrate node, ready for hacking.
  • Front-End - Polkadot-JS API and React app to build front-ends for Substrate-based chains.
  • Parachain - Cumulus enabled Substrate node, derived from upstream.
  • substrate-stencil - A template for a Substrate node that includes staking and governance capabilities.
  • polkadot-js-api-ts-template - A template project to kickstart hacking on top of @polkadot/api.
  • INK!athon - Full-stack dApp boilerplate with ink! smart contracts and a React frontend using the useInkathon (listed below) hooks library maintained by Scio Labs.
  • Subsocial Starter Kit - A starter-kit for building web3 social apps for the Polkadot ecosystem, powered by the Subsocial blockchain.

FRAME Pallets

Framework Extensions

  • Bridges - A collection of tools for cross-chain communication.
  • Cumulus - A set of tools for writing Substrate-based Polkadot parachains.
  • FRAME - A system for building Substrate runtimes.
  • Frontier - End-to-end Ethereum emulation for Substrate chains.
  • ink! - Rust smart contract language for Substrate chains.
  • IntegriTEE - Trusted off-chain execution framework that uses Intel SGX trusted execution environments.
  • Polkadot-JS - Rich JavaScript API framework for front-end development.

Client Libraries

Mobile

Tools

  • offline-election - Tool to predict nominated proof-of-stake elections.
  • offchain::ipfs - Substrate infused with IPFS.
  • polkadot-js-bundle - A standalone JS bundle that contains Polkadot{JS} libraries.
  • polkadot-launch - Simple CLI tool to launch a local Polkadot test network.
  • polkadot-runtime-prom-exporter - A Prometheus exporter for Polkadot runtime metrics (modifiable for Substrate use).
  • polkadot-scripts - A collection of scripts Parity uses to diagnose Polkadot/Kusama.
  • polkadot-starship - Another tool to launch a local Polkadot test network, with emphasis on the ability to run big testnets.
  • srtool-actions - GitHub actions to easily use the srtool Docker image to build your own runtime.
  • srtool-cli - CLI frontend for the srtool Docker image.
  • srtool - Docker image to deterministically build a runtime.
  • subsee - CLI to inspect metadata of a Substrate node as JSON.
  • subalfred - An all-in-one Substrate development toolbox.
  • substrate-balance-calculator - Breakdown the balances of your Substrate account.
  • substrate-balance-graph - Create a graph of the token balance over time of a Substrate address.
  • substrate-graph-benchmarks - Graph the benchmark output of FRAME pallets.
  • substrate-js-utils - A set of useful JavaScript utilities for Substrate that uses the Polkadot{JS} API; Also deployed as a website.
  • substrate-society - A basic front-end for the FRAME Society pallet.
  • substrate-toml-lint - A toml parser and checker to avoid common errors in Substrate projects.
  • subwasm - 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.
  • sup - Command line tool for generating or upgrading a Substrate node.
  • scale-value - Analogous to serde_json but for SCALE; Library to decode arbitrary SCALE encoded bytes into a dynamic Value given type info from scale-info.
  • scale-decode - Decode SCALE bytes into arbitrary custom types by implementing a visitor trait.
  • Aleph.im - Scalable, decentralized database, file storage, and computation services for Substrate chains and more.
  • Archive - Indexing engine for Substrate chains.
  • Dev Hub Utils - Unofficial utilities for working with official Substrate Developer Hub resources.
  • Europa - A sandbox for the Substrate runtime execution environment.
  • Fork Off Substrate - Script to help bootstrap a new chain with the state of a running chain.
  • fudge - Core lib for accessing and (arbitrarily) manipulating substrate databases, including the building and importing of local blocks.
  • Gantree Library - A suite of technologies for managing Substrate-powered parachain networks via rapid spin-up & tear-down.
  • Halva - A toolchain for improving the experience of developing on Substrate.
  • Hydra - A GraphQL framework for Substrate nodes.
  • Jupiter - Testnet for smart contracts written for the FRAME Contracts pallet and ink!.
  • Megaclite - Zero-knowledge tools for the Polkadot ecosystem.
  • Metadata Portal - A self-hosted webpage that shows the latest metadata and chain specs for any given network.
  • Minimark - Implementation of RMRK NFT v1/v2 protocol maintained by KodaDot.
  • Nova Polkadot Utils - Contains static info & metadata to support client apps in Polkadot ecosystem to map it to various netowrks.
  • Polkadot Vault (formerly Parity Signer) - Upcycle an unused mobile phone into an air-gapped hardware wallet.
  • Polkadot PANIC - Monitoring and alerting solution for Polkadot nodes by Simply VC, compatible with many Substrate chains.
  • Polkadot Tool Index - 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.
  • Polkadot-JS Apps UI - Semi-official block explorer & front-end for Substrate-based chains.
  • Polkadot-JS Extension - Browser extension for interacting with Substrate-based chains.
  • Polkascan - Multi-chain block explorer maintained by Polkascan Foundation.
  • Proxy Hot Wallet Demo - A demonstration of a secure, convenient, and flexible hot wallet architecture built on Substrate primitives.
  • Redspot - A Truffle-like toolkit for smart contracts for the FRAME Contracts pallet and ink!.
  • Sidecar - REST service that runs alongside Substrate nodes.
  • SS58 Transform - Display key's addressees with all SS58 prefixes.
  • Staking Rewards Collector - A script to parse and output staking rewards for a given Kusama or Polkadot address and cross-reference them with daily price data.
  • Subkey - Command line utility for working with cryptographic keys.
  • SubQuery - A GraphQL indexer and query service that allows users to easily create indexed data sources and host them online for free.
    • Nova SubQuery API - A SubQuery API implementation for operation history and staking analytics.
  • Subscan - Multi-network explorer for Substrate-based chains.
  • Subsquid - An indexing framework (SDK + infrastructure) to quickly and easily turn Substrate and EVM on-chain data into APIs and host them.
  • Substate - 100% no-std/wasm compatible Substrate storage key generator library for Rust.
  • Substrate debug-kit - A collection of tools and libraries for debugging Substrate-based chains.
  • Substrate Docker Builders - A set of Dockerfiles and GitHub Actions to auto-build and push a Docker image for Substrate-based chains.
  • Substrate Faucet Bot - Python-based faucet for development purposes.
  • Substrate Graph - GraphQL indexer for Substrate-based chains.
  • Typechain-Polkadot - Hepls users to generate typescript types from contract ABIs (ink!) and generate runtime code to interact with contracts and deploy them.
  • TxWrapper - Helpful library for offline transaction creation.
  • VSCode Substrate - Plugin for Visual Studio Code.
  • Polkaholic.io - Multi-chain block explorer with API and DeFi support across 40+ parachains.
  • SubID - 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.
  • Subsocial SDK Playground - 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.
  • Uptest Runtime upgrade tool - Uptest command line client and libuptest Rust library are two tools used for debugging storage changes and runtime upgrades.

Products and Services

  • OnFinality - Free and paid services to shared Substrate based nodes.
  • PrivHost - Public Tor .onion supported nodes for Polkadot, Kusama and Edgeware.
  • Substrate Devops Guide - Parity devops team's configuration and guidance on deploying, monitoring, and maintaining node infrastructure.

Alternative Implementations

SCALE Codec

awesome-substrate's People

Contributors

4meta5 avatar alexxuyang avatar antonkhvorov avatar aphoh avatar apopiak avatar aurevoirxavier avatar benwhitejam avatar brenzi avatar chevdor avatar curlybracketeffect avatar danforbes avatar drw3rk avatar flipchan avatar jamesbayly avatar joshorndorff avatar kaichaosun avatar kianenigma avatar leemo94 avatar liuchengxu avatar ltfschoen avatar matthewdarnell avatar nczhu avatar nuke-web3 avatar raekwoniii avatar retotrinkler avatar shawntabrizi avatar subsocialdev avatar tusharojha avatar wirednkod avatar yangwao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-substrate's Issues

Events are outdated

Today is September 2019, the events listed are from May 2019.

At minimum we should remove those events (see #8 ) we may also want to add current ones.

Update meta info & published version

I would like to request a few things related specifically to https://substrate.io/ecosystem/resources/awesome-substrate/

Fix awesome-lint problems

This is blocking sindresorhus/awesome#1869

awesome-substrate: npx awesome-lint
npx: installed 447 in 25.505s
βœ– Linting

  README.md:15:1
  βœ–    1:1    Missing file contributing.md                                    remark-lint:awesome-contributing
  βœ–    1:1    The repository should have "awesome" as a GitHub topic          remark-lint:awesome-github
  βœ–    1:1    The repository should have "awesome-list" as a GitHub topic     remark-lint:awesome-github
  βœ–    1:1    Missing or invalid Table of Contents                            remark-lint:awesome-toc
  βœ–   12:43   https://substrate.io/                                           remark-lint:double-link
  βœ–   13:5    https://substrate.dev/                                          remark-lint:double-link
  βœ–   15:1    Don’t add a trailing ? to headings                              remark-lint:no-heading-punctuation
  βœ–   18:1    https://github.com/paritytech/substrate                         remark-lint:double-link
  βœ–   23:3    Invalid list item link URL                                      remark-lint:awesome-list-item
  βœ–   24:3    Invalid list item link URL                                      remark-lint:awesome-list-item
  βœ–   25:3    Invalid list item link URL                                      remark-lint:awesome-list-item
  βœ–   26:3    Invalid list item link URL                                      remark-lint:awesome-list-item
  βœ–   27:3    Invalid list item link URL                                      remark-lint:awesome-list-item
  βœ–   28:3    Invalid list item link URL                                      remark-lint:awesome-list-item
  βœ–   29:3    Invalid list item link URL                                      remark-lint:awesome-list-item
  βœ–   30:3    Invalid list item link URL                                      remark-lint:awesome-list-item
  βœ–   31:3    Invalid list item link URL                                      remark-lint:awesome-list-item
  βœ–   35:3    https://substrate.io/                                           remark-lint:double-link
  βœ–   35:40   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   36:3    https://substrate.dev/                                          remark-lint:double-link
  βœ–   36:42   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   37:49   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   38:58   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   40:45   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   41:53   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   44:81   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   46:64   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   48:59   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   49:52   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   50:3    https://github.com/paritytech/substrate                         remark-lint:double-link
  βœ–   50:52   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   51:70   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   52:60   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   54:45   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   55:46   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   68:76   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   70:63   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   71:94   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   77:34   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   79:3    List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   80:48   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   81:103  List item link and description separated by invalid whitespace  remark-lint:awesome-list-item
  βœ–   86:3    https://substrate.dev/docs/en/knowledgebase/runtime/frame       remark-lint:double-link
  βœ–   86:69   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   88:44   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   89:3    https://github.com/paritytech/cumulus                           remark-lint:double-link
  βœ–   89:51   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   90:65   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   92:53   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   94:42   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–   99:3    https://substrate.dev/docs/en/knowledgebase/runtime/frame       remark-lint:double-link
  βœ–   99:69   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  100:81   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  103:3    https://github.com/paritytech/cumulus                           remark-lint:double-link
  βœ–  103:51   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  105:3    https://github.com/polkadot-js/api/                             remark-lint:double-link
  βœ–  105:91   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  110:103  List item link and description separated by invalid whitespace  remark-lint:awesome-list-item
  βœ–  112:94   List item link and description separated by invalid whitespace  remark-lint:awesome-list-item
  βœ–  114:105  List item link and description separated by invalid whitespace  remark-lint:awesome-list-item
  βœ–  116:101  List item link and description separated by invalid whitespace  remark-lint:awesome-list-item
  βœ–  118:57   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  123:59   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  126:3    https://github.com/polkadot-js/api/                             remark-lint:double-link
  βœ–  126:57   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  126:57   Text "Javascript" should be written as "JavaScript"             remark-lint:awesome-spell-check
  βœ–  129:3    https://polkascan.org/                                          remark-lint:double-link
  βœ–  133:3    https://usetech.com/blockchain/                                 remark-lint:double-link
  βœ–  135:3    https://usetech.com/blockchain/                                 remark-lint:double-link
  βœ–  139:55   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  141:68   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  143:65   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  145:61   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  146:55   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  148:73   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  151:3    https://polkascan.org/                                          remark-lint:double-link
  βœ–  152:102  List item link and description separated by invalid whitespace  remark-lint:awesome-list-item
  βœ–  154:49   List item description must end with proper punctuation          remark-lint:awesome-list-item
  βœ–  156:70   List item description must end with proper punctuation          remark-lint:awesome-list-item

  79 errors

Consider adding `go-substrate-gen`

Hey there!

Repo link

I was tired of writing client serialization/calling boilerplate code for substrate-based chains, so I wrote a go code generator that generates this all for me. It's still very much a WIP, but it can currently generate fairly nice calling code for polkadot/kusama and (hopefully) any other custom chains. Should make adopting substrate easier for any orgs out there that primarily use golang.

Thanks!

Add APAC videos

ICYMI the #hackathon-announcements channel has APAC info, here is a great message with videos all newer-to-substrate community members here can get something out of! 🀩

As we head towards the deadline, for one last time, here are all the workshops (if you want to rewatch or if you missed watching them)

Topic: Substrate 101 and Polkadot & Substrate Documentation
https://www.youtube.com/watch?v=N1pEh-NU26M

Topic: Using Open Runtime Module Library (ORML) to simplify your pallet logics
https://www.youtube.com/watch?v=yq1w9lZVw1s

Topic: How Not to Build a Pallet (Best practices by building a broken pallet and runtime)
https://www.youtube.com/watch?v=W0YU6goBKp0

Topic: How to build in the Polkadot Ecosystem
https://www.youtube.com/watch?v=B-sHFOQOMlA

All Polkadot Hackathon videos are in this playlist: https://www.youtube.com/watch?v=GYPYDEsHXaI&list=PL2q74pmc6sPcNCt_QaOGDnhqahCkEU7Go

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.