CasperLabs releases Node 0.8
CasperLabs is pleased to announce the release of Node 0.8. This release introduces a simple and secure ‘Genesis process’ — the method by which the blockchain itself is created.
About this Release
CasperLabs is preparing for our public TestNet release, and this release introduces enhancements to the Blockstore, the Genesis process for the blockchain, and optimizations such as more efficient gossiping, deploy buffer cleanup and support for multiple bootstrap nodes in the network.
Technical Details about this Release
Flexible Blockstore storage
The blockchain has to be stored locally on each machine. The total state of the blockchain is made up of 3 parts.
- The Global state, which represents the current state of contracts.
- The Block Store, comprised of the actual blocks themselves
- The DAG Store, the relationships between the blocks, and justification messages
To make the data easily accessible, the blockstore and DAGStore have been moved to a SQLite database, making querying and retrieving data much simpler for dApp developers.
New Client Features
The official client is the Scala client that ships with the package. We are pleased to report that we have added several new client calls for frequently used features. Some key ones are:
- Transfer: transfers token from one account to another. This function will also create the destination account if it does not exist.
- Balance: checks the balance of an account at a given block hash.
To see the full set of features in the client, run the client with the — help option.
Optimizations
We continue to work on optimizations to improve the performance of the network. Some of the performance improvements in this release are:
- Switching from ‘Push’ based Gossiping to ‘Push & Pull’ based Gossiping to improve efficiency
- Incorporating ‘Time to Live’ for erasing deploys after a specified time to prevent buffer overflows
- Notifications to run in the background. A node that is slow to receive gossiped data slows down the entire process. There’s no reason to wait for the notifications to finish though, so run them in the background so downloads and block proposals can continue unhindered.
- Support for multiple Bootstrap Nodes
Contract Development Template
We are pleased to announce the creation of contract development environment, to help dApp developers get started. This kit is located at: https://github.com/zie1ony/casperlabs-smart-contract-template
There are also examples for a counter contract (https://github.com/zie1ony/casperlabs-counter) and a multi-signature example (https://github.com/zie1ony/casperlabs-multisign-example) for developers to get started with.
Community Developer Documentation
We have improved our Wiki on GitHub to help support community engagement. Our wiki on GitHub is located at: https://github.com/CasperLabs/CasperLabs/wiki
Description of release packaging
Release packaging includes:
- Docker images available via DockerHub
- Debian package
- RPM package
- tar.gz
Where do developers go to learn more and get started?
At release, links to installation packages and relevant documentation is available on GitHub.
Where will bugs be filed?
Report a bug on GitHub
Where do developers go for support?
Join our community on Discord https://discord.gg/mpZ9AYD
About CasperLabs
CasperLabs is building a transformative blockchain for all applications that require a high degree of security, fast execution, and predictable economics. Our technology is built on the purest implementation of the proof-of-stake CBC-Casper protocol. We deliver a fully-decentralized, permissionless, public, and open source blockchain platform that supports developers with robust tools, application insights, and predictable fee structures.