Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Guides & reference

This part covers running and operating a deployed instance: the configuration surface, the HTTP API and observability endpoints, a Docker deployment, two fully worked examples, a symptom-first troubleshooting index, and a benchmark baseline. It is for an operator or integrator working against a running blockwatcher, not for someone deciding whether to adopt it.

flowchart LR
    rpc["RPC endpoints<br/>(external chains)"]
    sources["Sources<br/>evm-rpc · evm-mempool"]
    sinks["Sinks<br/>webhook · script · log"]
    storage["Storage<br/>checkpoints · dead letters · resources"]
    api["REST API"]
    metrics["Metrics"]
    engine["engine<br/>bounded channels · checkpoints"]

    subgraph pipeline["Engine pipeline"]
        direction LR
        decoder["Decoder"]
        matcher["Matcher<br/>predicates"]
        gate["Gate<br/>threshold · max_once"]
        decoder --> matcher
        matcher --> gate
    end

    rpc --> sources
    sources -->|"decode and match"| decoder
    gate --> sinks
    api -->|"manages resources"| storage
    storage <--> engine
    engine -->|"drives"| pipeline
    engine -.->|"reports"| metrics

    classDef module fill:none,stroke:#a9a3e3
    classDef core fill:none,stroke:#8a8d86,stroke-dasharray: 5 5

    class rpc,sources,sinks,decoder,matcher,gate module
    class engine,api,storage,metrics core
classDef dim fill:none,stroke:#999999,color:#999999,opacity:0.35
classDef focus fill:#ffd43b,stroke:#d9480f,stroke-width:3px,color:#1a1a1a
class rpc,sources,sinks,storage,engine,decoder,matcher,gate dim
class api,metrics focus
click sources "../concepts/selectors.html"
click decoder "../concepts/chain-agnosticism.html"
click matcher "../concepts/predicates.html"
click gate "../concepts/gates.html"
click sinks "../concepts/delivery.html"
click storage "../concepts/resources.html"
click api "http-api.html"
click metrics "observability.html"
click engine "../concepts/pipeline.html"

Key takeaways

  • This part is for operating a running deployment, not for deciding whether to adopt blockwatcher.

  • Configuration and the HTTP API cover how an instance is configured and controlled; observability covers how to watch it run.

  • The two worked examples build the same monitor against confirmed blocks and against pending transactions.

  • Troubleshooting indexes failure modes by symptom rather than by component.

  • Configuration: the instance configuration file and its environment overrides.

  • Resource reference: every resource kind’s fields, defaults, and write-time refusals, one page per kind.

  • HTTP API: the REST control plane.

  • Observability: the status endpoint and the Prometheus metrics.

  • Running with Docker: the Compose stack and its own configuration.

  • Monitoring ERC-20 transfers [RPC]: a worked example against confirmed blocks.

  • Monitoring ERC-20 transfers [Mempool]: the same example against pending transactions instead.

  • Troubleshooting: a symptom-first index into failure modes and their fixes.

  • Benchmarks: what’s measured, how to reproduce it, and the baseline results.