Files
whitepaper_obsero/probe/readme.md
T
2025-04-29 23:31:22 +02:00

1.6 KiB

🛰️ Obsero Probe

Lightweight monitoring agent for generating Proof-of-Observability JSON files.

This probe performs HTTP health checks, automatically geolocates itself, and exports signed observation files compliant with the Obsero specification.


⚙️ Requirements

  • Go 1.21+
  • Internet access (for geo lookup and ping)

🚀 Quick Start

1. Clone & Enter

cd probe

2. Install dependencies

go mod tidy

3. Run the probe

go run ./cmd/obsero-probe

This will:

  • Ping https://example.com
  • Auto-detect country, city and region
  • Output a file named proof_http_result.json

📄 Output Format

The output file is a valid Obsero proof:

{
  "timestamp": "2025-04-29T14:00:00Z",
  "target": "https://example.com",
  "status": "up",
  "http_status_code": 200,
  "latency_ms": 145,
  "error_message": null,
  "observer": {
    "address": "0xABCD...1234",
    "country": "France",
    "region": "Île-de-France",
    "city": "Paris",
    "probe_version": "0.1"
  },
  "version": "0.1"
}

📦 Next steps

  • Add CLI support (--target, --output)
  • Add cryptographic signature of the proof
  • Upload to IPFS
  • Submit hash + CID on Base chain

📁 Structure

probe/
├── cmd/
│   └── obsero-probe/
│       └── main.go         # CLI entrypoint
├── pkg/
│   ├── geo/                # IP geolocation
│   ├── probe/              # HTTP ping logic
│   └── proof/              # Proof struct + output
├── go.mod
├── go.sum

📜 License

MIT — Cryptolab.re