In our largest release since the Testnet, our June release (version 0.20) adds contract headers, contract upgrades and support for multiple key types (secp256k1, secp256r1, ed25519) for accounts, bonding and transaction signing. The combination of these elements in this updated model allow for sophisticated smart contracts to be written and improve the experience of both using and maintaining stored session logic and smart contracts on the Casper network.
The Casper blockchain executes wasm contracts that are either passed in a session code as part of a transaction (one-time execution), or called from an address in the global blockchain state store. Casper transactions are meta-transactions, containing both payment code and session code in a single deployment. Both payment and session code can have arguments, which are passed in at runtime. With this release, these arguments must be named and typed. Once named, it’s possible to send arguments in any order when invoking the contract.
Technical Release Notes for Contract Headers:
The easiest way to use contract headers is to use the contracts DSL. These are macros that add the code to set up the contract in the runtime and create the entry points for the contracts. Check out the Developer guide for instructions on how to use them.
The Casper network now supports multiple encryption algorithms for account keys. Developers can now use any of these key types on the system. With secure enclave compatibility, Apple devices can function as hardware wallets for Casper accounts.
We believe that offering key storage on devices with a robust recovery story is an imperative feature to any network or protocol. Our system supports robust key recovery functions such as key delegation and even on chain social recovery (it’s possible to assign several other accounts recovery permissions in a multi-signature fashion).
We continue to work on optimizations to improve the performance of the network. In this release we have ported the token transfer function to the host side of the contract runtime. This enables token transfers to take place without requiring wasm to be passed or stored in the global state.
Description of release packaging
Release packaging includes:
At release, links to installation packages and relevant documentation is available on GitHub.
Report a bug on GitHub
Join our community on Discord: https://discord.gg/Q38s3Vh
CasperLabs is the blockchain platform purpose-built to scale opportunity for everyone. Building toward blockchain’s next frontier, CasperLabs is designed for real-world applications without sacrificing usability, cost, decentralization, or security. CasperLabs removes the barriers that prevent mainstream blockchain adoption by making blockchain friendly to use, open to the world, and future-proof to support innovations today and tomorrow. Guided by open-source principles and built from the ground up to empower individuals, the team seeks to provide an equitable foundation made for long-lasting impact.