Author: @Daniel Sanchez Quiros

Introduction

The Nomos Explorer is an external component separated from the main node to access the Nomos network information without the need to run a full node. This decision focused on making the node as lightweight as possible. Hence the Nomos explorer is the counterpart of the Nomos node. Its main purpose is to keep track of what is going on in the network and pile up services exposing that information in a modular fashion.

How does it work

The Nomos explorer will read data from the different Nomos networks

flowchart RL
    B[Validator Network] --> |Blocks| A[Explorer]
    B[Validator Network] --> |Txs| A[Explorer]

The nomos explorer will serve an API on top of a locally constructed (and validated) database. Additionally, it may host a frontend for interacting with that API in different ways:

Explorer flow overview

sequenceDiagram
    loop Read Blocks
        Network->>Explorer: Blocks
        Explorer->>Explorer: Validate Block and store
    end
    loop Read Txs
        Network->>Explorer: Tx
        Explorer->>Explorer: Keep track of pending and approved txs
    end
    loop Serve data
        User->>+Explorer: Request information
        Explorer->>-User: Serves information
    end

Internal architecture

We can consider the Nomos explorer a kind of light node that validates what is happening in the Nomos networks and adds the information into the locally constructed databases.

flowchart LR
    E[Explorer] -->|Blocks| D1[(SQL)]
    E[Explorer] -->|Txs| D1[(SQL)]
    E[Explorer] -->|Forks| D2[(Neo4j)]
    F(Frontend) -.-> E[Explorer]

It uses: