Start date | |
---|---|
Sprint #9 | |
Demo | |
Release |
Note - sprint 9 will run for 4 weeks.
Program manager | Project manager | Developer-Rholang | Developer-Node | DevOps | Page owner |
---|---|---|---|---|---|
Marketing team
Marketing lead | Content owner |
---|---|
Kelly Foster |
This version of RNode introduces deployment of Rholang contracts across the network and an explicit call to propose a new block in the blockchain. Included in this are the necessary cryptographic functions, creation of a basic genesis block, a block explorer, and support for validator bonds. This release also contains a broader set of metrics which can be used by node operators to monitor node health and performance.
The RChain consensus algorithm uses a proof-of-stake protocol, where validators are required to bond with stake. Bonding and unbonding contracts need access to cryptographic functions to support signing with the validator key. Developers who want to deploy different tokens on the RChain platform will also need access to cryptographic functions to support their unique token cryptography.
Cryptographic functions are available to Rholang via a system cryptography channel and a cryptography module, available as a .jar file in the project. With the cryptography module in place, contract authors can use the following methods:
Support for secp256k1.verify will be available in a future release.
Consensus on the blockchain is a key aspect of the updates made to this version of RNode. In RNode v0.4 using the gRPC interface with RNode, developers can:
--bonds-file |
--propose |
--deploy |
--show-block |
Additional performance metrics are available from RNode and RSpace via a gRPC service.
These include:
CPU % utilization for the rNode process
RAM (in MB)
Disk consumption (in MB)
Network core metrics at the core level
JVM performance
Updates to EVAL mode to support sending file contains over the wire. For example, a client can be in one place and the server in another and files can be sent between the two.
Introduction of transport layer security (TLS) for communications and node identity instead of the previously used UDP. TLS offers both better performance and security for RNode. This release supports secp256r1 cryptography. This will be updated to support secp256k1 in a future release.
Invoking a method from the Crytpo library: Lead: Kyle Butt
Additional Rholang language features: Lead: Kyle Butt
Enhanced Metrics: Lead: Pawel Szulc (Unlicensed)
See section above 'What is this release able to demonstrate?"
The RChain blockchain will store Rholang code as part of the RChain state. This release demonstrates a contract deployment, and inclusion of the contract code inside a proposed block. Nodes will accept the proposed block and update their fork choice rule in the process. Nodes missing blocks will also ask for blocks from their peers.
While it does not impact the way users and developers interact with RNode, this version of RNode demonstrates a change in the transport layer from UDP to TLS. TLS offers better performance and security.
In the previous version of the node, RNode v0.3 demonstrated consensus messages over the RChain peer to peer network.
Release packaging will include:
At release, links to installation packages and relevant documentation is available at https://developer.rchain.coop.
Developers can report bugs here.
Developers can post questions to the RChain developer forum: https://forum.rchain.coop. This forum is monitored and developers can expect a response within 24 hours.
The RChain software is licensed under Apache License, version 2.0
Rholang is licensed under the MIT License (MIT)
The Docker image is licensed under the GPL 2.0 License