Skip to main content

Node

Node is a component of the blockchain infrastructure that interacts with the Midnight network to perform tasks such as syncing, validating transactions, and maintaining the chain state.

Link to related documentation


24 January 2025

Midnight 0.8.0 RC1 release notes

This release introduces enhancements to the Midnight node, including support for ledger upgrades, Prometheus metrics integration, and various performance optimizations and fixes.

New Features

  • Upgrade to Ledger 3.0.5.
  • Added Prometheus metrics to the ledger.
  • Introduced an automated tool to generate detailed release notes for future releases.
  • Added governance keys for qanet to the res directory.
  • Introduced benchmarks for the midnight-pallet.

Changes

  • Rust compiler updated from version 1.82 to 1.83.
  • Default cache size set to zero.
  • Changed default behavior to shut down the node when only 512MB of storage remains (previously 1024MB).
  • Fixed the generate-contract-calls function to use a random nonce by default.
  • Switched to a thread-local global for network ID when serializing/deserializing transaction generator JSON files.
  • Adopted a new key derivation method for funding wallets in qanet and local genesis configurations.

Bug Fixes

  • Improved transaction generator nonce handling.
  • Addressed issues with storage cache settings.

Breaking Changes

  • The Rust compiler requirement has increased to 1.83.
  • Default storage behavior changes may impact workflows on nodes with limited storage capacity.

Known Issues

  • Additional testing may be required for custom configurations involving trie cache adjustments.

Upgrade Instructions

  1. Update the node to version 0.8.0-rc1 by pulling the latest changes and assets.
  2. Upgrade your Rust compiler to 1.83 to ensure compatibility.
  3. Configure Prometheus metrics for enhanced observability and monitoring.
  4. Update transaction generator workflows to reflect changes in nonce handling and serialization.
  5. Review storage thresholds and cache settings for compatibility with your deployment.