Releasing Linera SDK v0.12
Gmicrochains! Today we are excited to announce the release of Linera SDK v0.12!
As usual, this release of the Linera SDK includes many new features, exciting improvements, and comes with a new Devnet!
To learn how to build and deploy Linera applications, check out our developer manual and find us on Discord and Telegram.
Data blobs
Linera applications can now easily share immutable data across microchains thanks to “data blobs”. Data blobs are important to make cross-chain data sharing cheaper, e.g. avoiding large cross-chain messages or multiple onchain copies of the same data.
Data blobs also pave the way for improving the Linera protocol itself, notably by allowing applications to be composed dynamically on each chain (i.e. removing the need to declare static dependencies between apps).
Atomic delivery for composed cross-chain messages
Composing applications by allowing them to call each other on a single chain is a powerful mechanism, but how does cross-chain messaging work for composed applications?
When a Linera transaction sends several cross-chain messages to the same receiver, Linera now treats all these messages as a “bundle”, preventing partial delivery of the messages, and making it easier for composed applications to enforce invariants.
More efficient pub-sub channels
The experimental feature of “pub-sub channels” allows a Linera application on one chain to subscribe to a stream of data from another chain. Previously, subscriptions needed to be explicitly accepted by the owner of the channel, causing fees and scalability issues. We have now removed this constraint by changing how channels work.
In the future, we expect pub-sub channels to be further improved and generalized into the powerful concept of “event streams”, allowing cheaper notifications and more complex queries into the historical data published by another chain.
Improved multi-user chains
We have continued improving the support for multi-user chains, notably the ability to create and configure them from a transaction running in an existing chain.
Multi-user chains allow several users to interact with each other directly by modifying a shared state for the duration of an interaction (e.g. onchain game, atomic swap, realtime auction).
New example applications
We created a Hex Game application to illustrate multi-user chains. This later inspired the community to program a chess game as well.
We created a new “Generative NFT” application to demonstrate how edge AI could be used to secure generative NFT (i.e. NFT made of a prompt for an AI model).
Misc. performance improvements
We drastically reduced how often chain states are loaded from storage.
We created an experimental option to make application service long-lived, removing the need to repeat expensive initialization (such as downloading a ML model) for each query.
Wasm bytecode is now stored in compressed form.
We reduced the number of storage queries when chains are loaded from storage by grouping keys together.