Giter Site home page Giter Site logo

polkadot-developers / awesome-substrate Goto Github PK

View Code? Open in Web Editor NEW
745.0 39.0 138.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

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

Stargazers

Mike Clay avatar Ebrahim Hamdy avatar Saleh Ramezani avatar Daniel Mantei avatar  Miloš Đurica avatar Pedro Ivo avatar AngularESP avatar Alexander Slesarenko avatar lifes engine-ATGC avatar  avatar Sam Snowman(赵正中) avatar Sajeevan avatar Shritesh Jamulkar avatar FAK avatar NSHV avatar Tanvir Aunjum avatar Franco Testagrossa avatar Dylan avatar Alexsander Falcucci avatar Evangelos Pappas avatar Akram Hussein avatar Monika Jaššová avatar Pratik Agarwal avatar  avatar Yeongpil Y. avatar damian.lu avatar  avatar Hao-Chen (Moven) Tsai avatar CoinHub avatar ret2basic.eth avatar Alvar Laigna avatar  avatar Alexander Babenko avatar Sekh Soyeb Ali avatar LV avatar  avatar maritse avatar Leechael avatar jared nesbitt avatar Frazz avatar JCKBLK avatar Chandramohan Jagtap avatar  avatar  avatar  avatar Matthew Pratt avatar  avatar Johann avatar Meharab avatar Et cetera avatar 孙立刚 avatar  avatar  avatar Gabriele Picco avatar Prince avatar Francisco Valentim Castilho avatar Dbug Rohit avatar Görkem Sarı avatar Matthew Malone avatar Jojo avatar borneygit avatar Liam avatar Tuan Duc Tran avatar Clite Tailor avatar Jiang tao avatar Kanstantsin Kastsevich avatar Sebastian Matias Nuñez Leal avatar DaMandal0rian avatar Vi P avatar  avatar Aether** avatar yaya avatar Abdullah Özkoç avatar Nghia Duong avatar Bass Jansson avatar Gabo Esquivel avatar Sarvagya Verma avatar Shane Mendez avatar Ibrokhim Kholmatov avatar Burnww avatar Kcacean avatar Black3HDF avatar peetzweg/ avatar Michael Assaf avatar Robert Jonczy avatar Chralt avatar  avatar archme avatar  avatar Bear Wang avatar radCircle avatar  avatar Alex Lins avatar  avatar Rohith avatar Muhammad Waqar avatar hlhdai avatar Mehmet Bora Ezer avatar V.O.T avatar Furkan Alan avatar

Watchers

Lim Chee Kin avatar Rakan Al-Huneiti avatar stano avatar Peter Clemenko avatar Jeff Burdges avatar James Cloos avatar Míla Kuchta avatar Douglas Kuhn avatar Ryan avatar Viacheslav avatar Alexey B avatar gabriel klawitter avatar John Henderson avatar Peter Kris avatar Farhan avatar jintao avatar Wei Tang avatar Thomas Le avatar Thang Nguyen avatar  avatar Garrett Maring avatar  avatar icodezjb avatar Ricardo Rius avatar armanriazi avatar Brandon Macer avatar Alex Bean avatar Alexander Paul Quinit avatar Björn Wagner avatar NA SA avatar Sacha Lansky avatar Cheng JIANG avatar  avatar  avatar  avatar Yang avatar Lucid avatar  avatar Lilith Roth avatar

awesome-substrate's Issues

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

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.

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.