In this release we introduce the CasperLabs type system. CLTypes represent the CasperLabs type system, types are important in computer systems because they define interfaces across the different portions of a system and provide a means to verify that all the parts are connected consistently. A type system is required in order to support Contract Headers, which is important for contract development and contract discovery.
Stream of Finalized blocks
The safety properties of CBC-Casper provides for block finalization — a condition where a transaction is considered irreversible. Users sending transactions to the system will want to know when transactions are finalized. For this purpose, we present a gRPC endpoint that provides a stream of finalized blocks. DApp developers can use this API to present information about finalized transactions to their end users.
Improved Key Management
Users can now upload existing keys to the CLarity interface (private keys are not stored, only public keys) — so they can fund these keys from the faucet via the CLarity interface. The system supports EC25519 keys, and users can assign a human-readable name to the key, for simpler management. Private keys still need to be stored carefully offline, or in a secure location.
We introduce an example token contract modeled after ERC20 that includes buy and sell methods, which enables dApp developers to create their own token on the platform and move this token between accounts. CLX will be required to fund these transactions.
While most blockchains support the ‘sender pays’ payment model, the CasperLabs system supports turing complete payment code -within a single deployment, 2 blocks of wasm bytecode can be processed— one for payment, one for contract execution. Developers can write complex payment methods to fund their contract execution if desired. Before this release, only errors in session code execution were returned. Now, errors from payment code execution are returned to the user.
We have corrected an inconsistency in the system where accounts were referenced using the base64 and base16 representation. We have opted to use the base16 representation of keys throughout the system.
Get Started with this release
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.