New Release: Rostrum 15.0.0

The team is delighted to introduce the new Rostrum 15.0.0 release. Rostrum is an efficient implementation of Electrum Server for Bitcoin Cash and Nexa with token support. This release improves indexing performance, adds pagination for large queries, and improves query consistency and server reliability. Please explore further details below and in the releases section of the Rostrum Gitlab.

Rostrum Gitlab:
https://gitlab.com/nexa/rostrum

What’s New?

The database format has changed for both Nexa and Bitcoin Cash. Rostrum automatically rebuilds its index on the first start after upgrading. Allow time for the reindex and ensure the connected full node retains the blocks needed to rebuild it.

Script discovery is off by default. Changing –index-scripts in either direction triggers a full database reindex, with RPC unavailable until it completes. Choose the setting before the first 15.0.0 start to avoid a second reindex.

RPC Improvements

  • Add JSON-RPC batch requests.

  • Add optional cursor pagination to blockchain.address and blockchain.scripthash history and unspent-output queries, and to token unspent-output queries.

  • Add cursor pagination to token transaction history and NFT listings.

  • Add cursor pagination to mempool.get.

  • Add the direction filter (both, receive, or spend) to address and scripthash history and mempool queries, including their token variants.

  • Add paginated script-prefix discovery with blockchain.script.list on Nexa and Bitcoin Cash, and Nexa-only blockchain.script.list_template for custom templates.

  • Correct unspent-output, history, balance, and subscription results as transactions confirm or the chain reorganizes.

  • Improve Nexa transaction and token balance handling.

  • Improve Nexa token.genesis.info results for subgroups. The new parent_id field identifies a subgroup’s parent and is null for parent groups.

Security

  • Count accepted sockets and incomplete TLS/WebSocket handshakes against the global connection limit (–rpc-max-connections), and bound accepted-connection queues.

  • Back off connection accepts when file descriptors are exhausted and rate-limit the resulting warnings, reducing resource and log pressure.

  • Require discovered peers to report a valid genesis hash matching the local network before accepting their TCP or TLS endpoint.

  • Reject invalid discovery endpoints. Performance and Operation

  • Download blocks over the connected full node’s P2P interface during indexing, with RPC fallback. Connect Rostrum only to a trusted full node.

  • Improve indexing, mempool synchronization, subscription updates, and queries for transaction details, Merkle proofs, history, and unspent outputs.

  • Add a configurable shared RocksDB block cache (block_cache_size_mb).

  • Show indexing throughput and estimated time remaining during initial synchronization.

  • Reload changed TLS certificate and key files for new connections without restarting the server.

  • Retain discovered peers across restarts and improve peer discovery and connection handling.

  • Fix outgoing IPv6 peer connections over TCP and TLS.

  • Fix Windows builds crashing when opening the database.

  • Update Nexa P2P protocol compatibility to version 80006.

  • Improve Prometheus compatibility by returning a content type from the metrics endpoint.

  • Update dependencies, including libz-sys 1.1.31 to address RUSTSEC-2026-0418.

To Sum Up

The server indexes the entire blockchain, and the resulting index enables fast queries for blockchain applications and any given user wallet. All Rostrum users, please update to the latest release.

If you have any suggestions or feedback, please use the Gitlab issues section or join Nexa community groups and channels, and inform the community moderators.

​

Release notes:
gitlab.com/nexa/rostrum/-/releases/v15.0.0

Documentation:
nexa.gitlab.io/rostrum

Downloads:
nexa.gitlab.io/rostrum/install

1 Like