A new developer preview of Simplicity introducing jets to streamline contract development
By Andrew Poelstra & Russell O’Connor
This week we are excited to announce a milestone in Simplicity development: a major new developer preview release with jets. Jets can be thought of as pre-made building blocks that can be combined together to construct complex Simplicity programs without having to build everything from scratch, simultaneously speeding up the process of developing Simplicity-based smart contracts while reducing their resource costs. We go into detail on this development below.
This release also introduces Simplicity support for test branches of Bitcoin and Elements, making it easier for developers to start thinking about how Simplicity as a script language upgrade could work for Bitcoin in the future. To demonstrate the new functionality in this release we give details of some test transactions written using pure Simplicity validation logic. These transactions are signed with BIP-Schnorr signatures, implemented in Simplicity itself, on modified Bitcoin and Elements regtest networks.
The test transactions demonstrate that Simplicity core is functionally complete, and is closer to being production-ready. While there is not yet any tooling available for developers, the code is available to download for anyone wanting to start experimenting with the new scripting language.An Intro to Simplicity
Simplicity is a blockchain programming language expressly designed for formal verification of correctness and for efficiency. It was built to overcome the limitations of Bitcoin scripting on Bitcoin and “Bitcoin-like” chains (e.g. Elements and Liquid), introducing:Introspection: allowing contracts to observe and control the amounts and destinations of transactions based on spend criteria. Generality: supports any program a developer can think of, while still guaranteeing the verifiability of resource costs. Extensibil...