Midnight Explorer

Shroud includes a built-in blockchain explorer for the Midnight network with real-time block updates, transaction inspection, and GRANDPA consensus monitoring.

Access

The explorer is available at:

https://shroud.us/midnight/explorer

No authentication required — the explorer is publicly accessible.

Features

Live Dashboard

The main page shows:

  • Network Stats — chain name, latest block, finalized block, peer count

  • Recent Blocks — last 10 blocks with number, hash, parent hash, and transaction count

  • Protocol Status — real-time panels updated via Server-Sent Events:

    • Network Status — latest block, finalized block, finality gap

    • Sync State — sync progress percentage, starting/current/highest block

    • Midnight Protocol — ledger version, API versions, sidechain epoch/slot

    • GRANDPA Consensus — set ID, round number, prevote/precommit weights, missing validators

All data updates automatically as new blocks arrive — no page refresh needed.

Block Detail

Navigate to a block by clicking its number or visiting:

/midnight/explorer/block/{number} /midnight/explorer/block/{hash}

Block pages show:

  • Block header (number, hash, parent hash, state root, extrinsics root)

  • Block author (extracted from consensus digest)

  • Finalization status badge

  • Timestamp (if available)

  • Transactions — Midnight-specific signed transactions with hash, pallet, and method

  • Extrinsics — all extrinsics including unsigned (e.g., Timestamp.set)

  • Digest logs

Transaction Detail

View transaction details at the canonical block-scoped URL:

/midnight/explorer/block/{number}/tx/{hash}

Or paste a Midnight tx hash directly at:

/midnight/explorer/tx/{hash}

The explorer locates the containing block via its in-memory tx index and 302-redirects to the canonical block-scoped URL. The index is bounded — transactions older than roughly the most recent 1000 blocks are evicted and return 404 Transaction not found. For older transactions, look up the containing block by another means and use the block-scoped URL directly.

Either route shows:

  • Transaction hash (Midnight SHA-256 hash)

  • Substrate extrinsic hash (blake2b-256)

  • Block context (number, hash)

  • Extrinsic index within the block

  • Payload size

  • Raw payload (hex, collapsible)

Use the search bar or POST to /midnight/explorer/search with form field q:

Query

Example

Result

Block number

12345

Navigates to block detail

Block hash

0x1a2b3c... (64-char hex)

Navigates to block detail

Real-Time Updates (SSE)

The explorer streams live data via Server-Sent Events:

GET /midnight/explorer/events

Event: snapshot

Sent on every new block. Contains full dashboard state:

{ "stats": { "chainName": "Midnight", "currentBlock": 12345, "finalizedBlock": 12340, "peerCount": 25 }, "blocks": [ { "number": 12345, "hash": "0x...", "parentHash": "0x...", "extrinsicCount": 5, "txCount": 2 } ], "protocol": { "latestBlock": 12345, "finalizedBlock": 12340, "finalityGap": 5, "isSyncing": false, "ledgerVersion": "v0.5.0", "grandpa": { "setId": 42, "best": { "round": 127, "totalWeight": 1000, "prevotes": { "currentWeight": 850 }, "precommits": { "currentWeight": 750 } } } } }

Event: grandpa

Sent every ~500ms when GRANDPA consensus state changes:

{ "setId": 42, "round": 127, "totalWeight": 1000, "prevoteWeight": 850, "precommitWeight": 750, "missingCount": 3 }

Technical Details

Transaction Hashes

Midnight uses two hash types:

Hash

Algorithm

Input

Used For

Midnight tx hash

SHA-256

Raw Midnight payload bytes

Primary tx identifier

Substrate extrinsic hash

blake2b-256

Full SCALE-encoded extrinsic

Substrate-level reference

Block Author

The block author is extracted from the PreRuntime digest log with engine ID "mcsh". The 32-byte public key is read at offset 6 (after the SCALE compact length prefix).

Last modified: 08 May 2026