RNode v0.3.1 introduces the RChain consensus protocol

RNode v0.3.1 is the first to run a consensus protocol and to offer a GRPC API for developers. Get started with RNode v0.3.1 at https://developer.rchain.coop.

About This Release

The RChain Cooperative in partnership with Pyrofex is pleased to announce the release of RNode v0.3.1. This is the latest of the pre-production release milestones toward the release of the RChain blockchain planned for delivery in the fourth quarter of this year.

The previous version of RNode featured running Rholang in the node and an improved encrypted handshake. RNode v0.3.1 builds on this and now includes a consensus protocol, a gRPC API, and system engineering features supporting system reliability best-practices.

RNode v0.3.1 allows developers to:

  • Observe the consensus protocol in action
  • Interact with the node API via gRPC services
  • Execute Rholang contracts that print to the console via STDERR and STDOUT channels
  • Operate the node in a persistence mode, supporting data storage between restarts
  • Benefit from new system features including support for persistence of keys and support for systemd

See notable enhancements of RNode v0.3.1 below for a detailed description of these new features. Information about the project plan, key milestones, and plans for future releases is available at https://developer.rchain.coop.

Developed by the Pyrofex development team in collaboration with members of the RChain Cooperative, the RChain platform is the brainchild of Greg Meredith and described in the RChain Platform Architecture. The goal of this project is to build a decentralized, economically secured, sustainable blockchain. When complete, the platform will include a modular, end-to-end design that is correct-by-construction, operates at a global scale, and support for a rich variety of decentralized applications, DApps.

Notable enhancements of RNode v0.3.1

Consensus protocol

The consensus protocol is what establishes trust in a trustless network and is a fundamental component of blockchain architecture. A proof-of-stake algorithm is the basis for RChain consensus. Pyrofex developer Michael Birch gives an excellent description of this in Correct-by-construction Casper: a visualization for the future of blockchain consensus. RNode v0.3.1 demonstrates the consensus protocol working in the node and demonstrates sending different message types associated with the protocol across the network.

gRPC API

Valued for its proven success in highly scalable and distributed systems, and for support for backward and forward compatibility, the gRPC services is the API interface of choice for the RChain platform. Instructions for exposing the API and information about currently available services is available in the RNode README. The RNode API specification details additional services planned for RNode.

STERR and STDOUT channels

This release creates channels to support sending messages to STERR and STDOUT. The architecture of the Rholang language requires the use of channels. Channels store state transitions, supporting concurrent execution of programs. Channels also provide security to assure user contracts and DApps do not affect the node system. The STERR and STDOUT channels allow developers to run programs on the node locally and print messages to the console and logs.

Persistence mode

Node operators can select to run the node in the persistent mode. This mode supports storing the tuplespace to disk, instead of just in memory, to support continuations (computations waiting for input to proceed) resuming after a system restart.

Other new system features

Persistent storage of keys — RNodes store keys and can re-establish connections with stored keys.

Support for systemd — RNode installation packages now register with systemd as a service.

Get started with RNode v0.3.1

Download this release and find documentation at the RChain developer portal: https://developer.rchain.coop

We want to thank all community members for their continued support and invite everyone to test this new release. Building and testing a network of nodes at every stage of the development process is key to the success of delivering a blockchain with industrial-scale utility. Direct questions and comments to the RChain developer forum. Bugs can be filed on our JIRA.

Look for more releases in the coming weeks as we continue to build the RChain blockchain at https://developer.rchain.coop.