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 RC2 release notes

This pre-release introduces further refinements and fixes to the Midnight node, including enhanced transaction validation, Prometheus metrics, and ledger updates.

New Features

  • Introduced basic Prometheus metrics on the ledger side.
  • Added benchmarks to the Midnight pallet.
  • Added a command to show deserialized transactions .
  • Refactored the transaction generator to use a thread-local global for network ID serialization/deserialization.

Changes

  • Ledger updated to 3.0.6.
  • Set the default trie cache size to zero.
  • Upgraded the Rust compiler to version 1.83.
  • Added qanet governance keys to the res folder.
  • Reduced the amount of configuration required.

Bug Fixes

  • Restored transaction validation.
  • *Corrected DNS entries for bootnodes.
  • Updated address formats to align with the latest specification by removing the network ID.
  • *Added teleport login to sync scripts.
  • Fixed the generate-contract-calls functionality to use a random nonce by default.

Breaking Changes

  • The update to Ledger 3.0.6 requires users to regenerate qanet and undeployed genesis files.

Known Issues

  • Future optimizations to transaction deserialization may be needed for edge cases.

Upgrade Instructions

  1. Pull and deploy the new node image midnight-node:0.8.0-e9974d3e.
  2. Ensure that qanet and undeployed genesis files are updated to align with Ledger 3.0.6.
  3. Configure Prometheus to monitor the newly exposed metrics for ledger performance.
  4. Review the simplified configurations and update your deployment accordingly.