Chainpoint Node 1.5.2 Release Notes

Chainpoint Node 1.5.2 is now available on Github. This release improves node performance and stability.

We’re beginning a two step process to transition from Redis and Postgres to RocksDB. This 1.5.2 release facilitates the transition from Redis to RocksDB. A future release will facilitate the transition from Postgres to RocksDB.

Our goal is to have a lean and stable Chainpoint Node that performs well even on modest hardware. So far we’ve been impressed with the performance gains we’re seeing by transitioning to RocksDB.

How To Upgrade a Chainpoint Node

The command ‘make upgrade’ will upgrade and restart a Chainpoint Node.
IMPORTANT: Nodes must upgrade to 1.5.2 before Wednesday, August 1st at 12:00 PDT (19:00 UTC) to be eligible for rewards.

Chainpoint 1.5.2 Release Notes

Chainpoint Node — Full Changelog
Chainpoint Node — Frequently Asked Questions

Changes

  • Write ephemeral proof state to RocksDB (formerly Redis). This provides a significant increase in sustained inbound hash rate while consuming disk space instead of RAM. The ephemeral data written to RocksDB is auto-pruned after 24 hours. The Redis database will be removed from the Node in a future release.
  • Upgrade to PostgreSQL 9.6.9
  • Upgrade to Redis 4.0.10
  • Upgrade Node.js (`node:8.9.0-alpine` -> `node:8.11.3-stretch`) Docker container base
  • Reduce HTTP calls to `PUT /nodes` if request body matches previous successful `PUT`.
  • Certain caching functions, which contain small amounts of volatile data, now store their data in RAM instead of Redis.

Added

  • Improved handling of processing time hints from Chainpoint Core.
  • Auto-migrate old Redis proof state and other Redis data to RocksDB on initial startup.

Fixed

  • Node UI React application internal re-factoring and bugfixes.
  • Ensure `validator.isIP()` receives a string avoiding rare crash in `1.5.1` release.
  • Re-create `/keys/backups` directories if previously deleted.
  • Improve detection, handling, and UI messaging in Brave browser when third-party cookies and local storage are disabled.
  • Trim whitespace from the list of hashes provided to `POST /hashes` using the `hashids` request header.

Chainpoint Node Operator Survey

Please take a minute to participate in our Chainpoint Node Operator survey. Some ideas from early responses:

  • Better tools for managing multiple nodes
  • Changes to the staking, audit, and rewards process
  • Improvements to the Node UI

We’ll share the survey results in a future blog post.

Chainpoint API Tutorial

Want to build something with Chainpoint? Here’s a guide that shows how to use a Chainpoint Node’s API to create a Chainpoint proof. You can use any programming language that supports HTTP calls.

Chainpoint Javascript Client

This javascript client can be used in both Browser and Node.js based Javascript applications using callback functions, Promises (using .then.catch), or Promises (using async/await) functional styles.

We’ve created a live code notebook on Runkit that demonstrates how to use the client. Developers are encouraged to submit any issues to the Chainpoint Client Github repo.

NPM —  https://www.npmjs.com/package/chainpoint-client

Stay Updated

Follow Chainpoint development on Github. Anyone can submit an issue or pull request. Keep up to date by following Tierion on Twitter. Tierion’s Discord Community is one of the best places learn about Chainpoint and get answers to your questions.