Parity Technologies announced today that the Substrate 1.0 Beta is out now, which seeks to assist in blockchain and decentralized application development. Substrate is an open-source technology stack that makes it easy to create a blockchain customized for a particular application.
Substrate is architected to be as generic as possible in order to give developers maximum technical freedom when designing their blockchain. It has a 100% abstract “execute block” function encoded in WebAssembly that can be targeted from any one of a number of languages, including C++ and Rust. The execute block function is hot-swappable, meaning developers can upgrade their chain’s logic without a hard fork.
The consensus is furthermore generalized. The API provided lets developers roll their own consensus mechanism and it can handle most consensus algorithms out there. Substrate 1.0 Beta provides a combined Aura/GRANDPA consensus, with more consensus algorithms to be provided in subsequent releases.
Out-of-the-box, developers get a light client so their 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.
With Substrate, devs can easily configure their blockchain, but also take complete control over the code should they need to. This flexibility between ease and technical freedom is achieved through a modular design: Substrate is separated into Substrate Core, Substrate Runtime Module Library (SRML) and comes with a pre-assembled Substrate Node that is simple to configure.
“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.”