Substrate is here
BERLIN, Dec. 18, 2018 /PRNewswire/ -- Substrate 1.0 Beta is out now, opening the door to a new wave of innovation in blockchain and decentralised application development. Substrate is an open-source tech stack that makes it simple to create a blockchain customised for your application.
"Substrate takes all of our lessons learned in building Ethereum and Polkadot and distills that down into a stack of tooling that allows you to get all of those same rewards… for free," —Dr. Gavin Wood (Co-founder of Parity Technologies, Polkadot and Ethereum)
Designed for maximum freedom and ease
Substrate is architected to be as generic as possible and provide maximum technical freedom when designing your blockchain. It has a one hundred percent abstract 'execute block' function encoded in WASM that can be targeted from a number of languages, including C++ and Rust. The execute block function is hot-swappable, meaning you can upgrade your chain's logic without executing a hard fork.
Consensus is also generalised. The API provided lets you roll your own consensus system if you want, and it can handle most consensus algorithms out there. Substrate 1.0 Beta offers a combined Aura/GRANDPA consensus, with additional consensus algorithms coming subsequent releases. Down the road, consensus will be hot-swappable, meaning you can start your blockchain with one consensus mechanism and switch to another down the line – again avoiding a potential hard fork.
Substrate integrates the best in cutting-edge blockchain technology. You get a light client out-of-the-box so your blockchain can work natively on mobile devices, and pooled security and interoperability via integration with the Polkadot protocol. Substrate is authored in Rust, and there is also a JavaScript implementation for a Substrate client that runs directly in the browser.
Substrate allows you to easily configure your blockchain, but also take complete control over the code should you need to. This flexibility between ease and technical freedom is achieved through a modular design: Substrate is separated into Substrate Core and Substrate Runtime Module Library (SRML) and comes with a pre-assembled Substrate Node that is simple to configure.
Substrate Core
Substrate Core is the minimal Substrate base for building blockchains. Substrate Core gives you a foundation that is far easier than building a blockchain from scratch, though you don't get a finished blockchain. It includes:
- Pervasive and secure networking via libp2p
- Storage
- Telemetry
- Light client
- Block synchronisation
- Extensible JSON-RPC API endpoints
- Low-level JavaScript utils
- Transaction queue and block production mechanism
- Sandboxed WebAssembly interpreter
- Interchain connectivity via the Polkadot protocol
- Crypto primitives library
- Chain specification and versioning
- Pluggable consensus
Substrate Runtime Module Library (SRML)
The core architecture of Substrate separates the basic functionality of a network blockchain node and the chain-specific implementations by executing the latter in a separate WebAssembly environment. You have absolute freedom to write the chain logic in any language that can compile down to WebAssembly (Rust, C/C++, C#, Go, etc). You can add modules from the Substrate Runtime Module Library, or SRML. With SRML, you can take off-the-shelf components, plug them together, and build a blockchain that does what you want it to do. Modules include:
- Accounts & Balances - basic cryptocurrency, including account management and viewing
- Assets - simple, secure additional on-chain fungible assets
- Consensus - setting and modifying runtime code and storage (i.e. the set of authorities as a list of session keys on-chain), and reporting offline or misbehaving validators
- Contracts - turbo-charged Wasm-based smart contracts
- Council - council election and proposals
- Democracy - public proposals and referendums
- Sessions - key rotation for authorities
- Staking - Proof-of-Stake logic, including both staking and nominating of validator accounts
- Timestamp - have your chain know about time
- Treasury - decentralised grants, similar to a DAO
So, for example, if you want to create a Proof-of-Stake smart contract blockchain, you would take Substrate Core and plug in the Accounts & Balances, Staking, and Contracts modules. Once Polkadot launches, you could also make it interoperable by plugging it into Polkadot.
Substrate Node
Finally, Substrate Node allows you to deploy a blockchain with maximum ease. Soon you will be able to configure Substrate Node with a JSON file.
Peripheral support infrastructure
Peripheral support infrastructure has been built by Parity and open-source contributors to provide additional functionality to Substrate and Polkadot. This infrastructure includes:
- Polkadot Telemetry Service - network information including what nodes are running the chain, what software versions they are running, and sync status.
- Jaco's UI for Substrate and Polkadot - built with React.js and RxJS. API docs and examples available.
- Substrate UI - built with the Bonds oo7 library. API Docs available.
- Polkadash - validator monitor.
- Polkabot - network monitoring and reporting.
- Polkascan - blockchain data explorer and analytics.
Apache 2.0v License
Substrate 1.0-beta is currently licensed under GPLv3, but in keeping with the ideal that Substrate should allow for maximum developer freedom, the Substrate repo will transition to be licensed under Apache 2.0. The widely permissive nature of the open-source license allows for commercial use, distribution, modification, patent use, and private use and opens the door for Fortune 500 companies to adopt the technology. We offer professional services to organisations looking to build with Substrate.
We're hard at work making Substrate the most developer-friendly blockchain framework. We have started a developer hub where you can:
- Get an overview.
- Learn how to install Substrate.
- Learn how to create a custom Substrate chain.
As the developer hub is a work in progress, please feel free to ask questions in the Substrate Technical chat.
Start hacking today!
"I really hope that by pushing out Substrate, we can create a whole new class of sort of development teams and development applications that sit right in the sweet spot between the two where you don't have to know everything, you don't have to do everything to develop your whole new blockchain, but you can do just enough that you do have a domain-specific chain, that has its own parameterization, and its own features that allow you to get a particular job done, and done well, that wouldn't have been possible before because smart contracts are too bloaty, and writing your own chain is too much work," — Dr. Gavin Wood (Co-founder of Parity Technologies, Polkadot and Ethereum)
Get started quickly by downloading Substrate and build your own custom chain.
Further resources:
- Read documentation at the Substrate developer hub.
- Check out a simple example of a runtime module demonstrating concepts, APIs and structures common to most runtime modules.
- Watch Dr. Gavin Wood demo Substrate at the Web3 Summit.
- Watch the Substrate workshop at Dotcon.
- Have a question? Join the Substrate chat.
https://mma.prnewswire.com/media/800151/Parity_Logo.jpg
https://mma.prnewswire.com/media/800150/Substrate.jpg
Peter Mauric
Head of Public Affairs
press@parity.io
Share this article