Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Reference

Document status

Status
colourGreen
titlecomplete

Release status

Status
colourGreen
titlereleased

Related pages

User guide for running RNode


Milestones

Start date 
Release

 



Release summary

The release of RChain RNode v0.9.7 (f0299e4) progresses the platform toward the Mercury release and delivers optimizations and breaking changes current users of RNode should make note of. Below are some of the highlights of this release. For complete details about work included in RNode v0.9.7, please see the list below in the section "Work included in this release". For more information about using RNode, please see --help within the node or User guide for running RNode

Changes to key algorithm and key handling (!!! BREAKING CHANGE !!!)

The RChain platform now uses the secp256k1 algorithm exclusively for public/private key pairs for both consensus protocol and system contracts. The previous release supported both the ed25519 and secp256k1 algorithms.

You can either bring your own key pair or use the rnode keygen command to generate a key pair. RNode accepts secp256k1 keys in encoding similar to Bitcoin:

  • Plain-text private keys as 64 hexadecimal digits (32 bytes)
  • Uncompressed public keys as 130 hexadecimal digits (65 bytes) — 04 prefix followed by 128 hexadecimal digits (64 bytes) of public key points x and y.

See Bitcoin Book chapter about key formats for more details. Compressed public key formats were not testedformat is not supported yet.

With the release or RNode v0.9.7 we are pleased to provide private key encryption support so you do not need to pass your private key on the command line. Users can now provide --private-key-path <path to file containing the encrypted private key> command line option when a private key is required.

We are investigating a known issue for some RNode users who experience a break in console typing related to both keygen and use of the password after using the path to the private key. Please see 

Jira
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId50130123-f232-3df4-bccb-c16e7d83cd3e
keyRCHAIN-3501
 for a more detailed description and interim workaround. TL;DR: You can use tput init command to restore your console to normal state.

Changes to locating a deploy

Until this release, finding a Rholang deployment to the blockchain by poking around in the tuplespace of a block was tricky. Users used the `show-block` command and inspected the stringified tuplespace dump to check whether their data is available on chain. In addition to the challenge of searching in the tuplespace, there are other performance-related reasons to remove the tuplespace dump from the block info. With the release of RNode v0.9.7 we provide a much improved experience. First, we've removed the tuplespace dump from the block info and only report the change. Second, now every deploy command returns a DeployID. Finally, users now use find-deploy --deploy-id <arg> in node to query the blockchain for the block containing that deploy. The call returns the block header information.

Fetch last finalized block

Interested in knowing more about the most recently finalized block? You can now use last-finalized-block to return information about the last finalized block known by Casper on a running node.

Propose API

The Mercury release requires the propose API of the node to be on an internal port. Prior to this release it was on an external port which benefited early RNode users. With this release the propose API is available on both an internal and external API as we make the transition to just the internal port and continue to support dApp developers who still rely on the external availability of the propose API. 

Note to dApp developers: Please prepare for the propose API to no longer be available on an external port in an upcoming release.


Work included in this release

Jira
serverSystem JIRA
columnskey,summary,type,status,components
maximumIssues1000
jqlQueryfixVersion = RNode-0.9.7 ORDER BY component ASC, cf[10006] DESC, status ASC, created DESC
serverId50130123-f232-3df4-bccb-c16e7d83cd3e

Description of release packaging

Release packaging will include:

  • Docker image (Supported on Linux only)

  • Debian package 

  • RPM package

  • .zip file

  • tar.gz file

  • Brew installation

Where do developers go to learn more and get started?

Please visit our release page on GitHub for binary artifacts.

A docker image is available 

docker pull rchain/rnode:v0.9.7

Homebrew installation via

brew install rchain/rchain/rnode

Where will bugs be filed?

We use JIRA to collect bugs and feedback. File a bug

Where do developers go for support? 

Please visit https://developer.rchain.coop or file a bug.

What license will this be released under?

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

Work completed since last release

Jira
serverSystem JIRA
columnskey,summary,type,status,resolution,fixversions,components
maximumIssues1000
jqlQueryproject = RCHAIN AND resolved >= 2019-05-29 AND resolved <= 2019-06-10 ORDER BY component ASC, cf[10006] ASC
serverId50130123-f232-3df4-bccb-c16e7d83cd3e