Blockchain Debugger
The debugger that finds the consensus failure before your users do.
Product screens
Overview
I built a debugger node that joins the network at protocol level to find consensus failures before release and to diagnose them afterwards.
Problem statement
Blockchain nodes must agree on the rules across versions and node types. Clock drift, latency and forks cause downtime and data loss, and ordinary client-server test tooling cannot reproduce any of it.
Solution
A node that joins the network.
I built a specialised node that connects to a release-candidate node at protocol level, speaking directly to its peers and executing scenarios that client-server tools cannot.
Before release.
I built three test modes: functional, driving a node through RPC calls and checking responses; performance, repeating the same actions across many nodes with pre-computed data; and security, holding protocol-level conversations with peers to stage conditions that are hard to orchestrate in a distributed system.
After release.
I query live nodes for what a distributed network normally hides: client versions, third-party clients, connections, synchronisation, block and transaction propagation, and forks. That evidence points to the root cause of consensus errors.
Evidence in one view.
I present connected peers, protocol messages and connection state together, so a consensus error can be traced to specific node versions, node types or network conditions.
Outcome
The debugger gave me one tool for validating a release candidate before launch and diagnosing consensus errors on the live network afterwards, using evidence taken directly from the protocol rather than inferred from client-server tests.
Technologies used
Data volumes & scale
- 3 pre-release test modes
- Protocol-level access
- Live-network monitoring
- 4-node test network
