Skip to main content

Midnight Indexer

The Midnight Indexer is a set of components designed to optimize the flow of blockchain data from a Midnight node to end-user applications. It retrieves history of blocks, processes them, stores indexed data efficiently, and provides a GraphQL API for queries and subscriptions.


2 April 2024

Midnight Indexer 1.0.1 Release Notes

Stable Release

  • Version: 1.0.1
  • Audience: Node operators, developers integrating with the Midnight ecosystem
  • Environment: Production-ready

This release (1.0.1) is considered stable and production-ready. It can safely be deployed in public and production environments.

Key Changes & Highlights

note

This release requires wallet-sdk v4.0.0+ (compatible with Lace Wallet v2.0.0 or higher).

Changelog

Bug Fixes

  • Improved wallet session management by ensuring that active wallets are explicitly marked to avoid unintended disconnections.
  • Fixed an issue where wallet subscriptions always restarted progress updates from index 0, regardless of the wallet's actual known index.

Breaking Changes

Migration from Scala-based to Rust-based indexer

Impact: API endpoints are similar, but internal implementation and performance characteristics differ Action Required:

  • Test integrations against the new Rust-based indexer at: https://indexer-rs.testnet-02.midnight.network/api/v1/graphql
  • Begin migration from the old endpoint (indexer.testnet-02...)
  • Monitor for upcoming deprecation of Scala indexer in future release

Known Issues

  • macOS Compatibility: Limited testing on macOS. Users may experience issues with native SQLite integration.
  • Windows Support: Functional but not officially supported. Linux is the recommended environment.

Compatibility

  • Operating Systems: Fully supported on Linux. Limited support for macOS and Windows.
  • Third-Party Tools: Compatible with monitoring and analytics platforms; may require minor configuration updates.
  • Midnight Ecosystem: Fully compatible with Midnight node APIs and associated infrastructure.

Additional Resources

  • Community Support: Join the discussion on Discord

Upgrade/Migration Guide

Prerequisites

  • PostgreSQL installed and configured (for production)
  • Network access to a Midnight node

Installation & Migration:

  • Deploy new indexer binary
  • Connect to appropriate backend (SQLite or PostgreSQL)
  • Point your API integration to the new endpoint

Post-Upgrade Checks

  • Confirm GraphQL queries resolve as expected
  • Monitor logs for error-free startup