Zum Inhalt springen

Klokk Ledger

Dieser Inhalt ist für v1.0. Wechseln Sie zur neuesten Version, um die aktuelle Dokumentation zu sehen.

Klokk Ledger ist ein unabhängiger Indexer- und Verifizierungsdienst. Er liest Klokk-Anchor-Nachweise aus dem öffentlichen IOTA-Ledger zurück, speichert sie und stellt eine schreibgeschützte Verifizierungs-API bereit — sodass jeder einen Nachweis prüfen kann, ohne dem Betreiber zu vertrauen, und selbst dann, wenn der Ledger-Knoten alte Transaktionen später entfernt. Er benötigt keinen API-Schlüssel und keine Geheimnisse; er liest nur öffentliche Daten und füllt beim ersten Lauf die vollständige Package-Historie automatisch nach.

Image: klokkme/ledger / ghcr.io/klokk-me/ledger (Tags stable, latest). SQLite ist reines Go (kein CGO); PostgreSQL optional.

docker-compose.yml
services:
klokk-ledger:
image: klokkme/ledger:stable
restart: unless-stopped
read_only: true
tmpfs:
- /tmp
cap_drop: [ALL]
security_opt:
- no-new-privileges:true
pids_limit: 200
ports:
- "127.0.0.1:8080:8080"
volumes:
- ledger-data:/app/data
environment:
ACCEPT_TERMS: "true" # Zustimmung zu den Nutzungsbedingungen: https://klokk.me/de/terms
IOTA_NETWORK: "mainnet"
IOTA_ANCHOR_PACKAGE: "0x..." # dasselbe Package, in das Ihr Anchor schreibt
DB_DRIVER: "sqlite"
DB_DSN: "data/klokk-ledger.db"
POLL_INTERVAL: "60s"
volumes:
ledger-data:
Variable Standard Beschreibung
ACCEPT_TERMS Erforderlich — Mit true den Nutzungsbedingungen zustimmen. Ohne die Variable protokolliert Klokk Ledger den Link und beendet sich.
IOTA_ANCHOR_PACKAGE Erforderlich — Adresse des zu indexierenden klokk_anchor-Move-Packages — dasselbe, in das Ihr Anchor schreibt.
IOTA_NETWORK mainnet mainnet, testnet oder devnet (wählt den Standard-GraphQL-Endpunkt; mit IOTA_GRAPHQL_URL überschreibbar).
DB_DRIVER / DB_DSN sqlite / data/… sqlite oder postgres, mit dem passenden Dateipfad bzw. DSN.
LISTEN_ADDR :8080 Adresse, auf der die HTTP-API lauscht.
POLL_INTERVAL 60s Wie oft der Ledger nach neuen Nachweis-Ereignissen abgefragt wird (z. B. 30s, 5m).
ADDRESSES all Optionale kommagetrennte Anchor-Absenderadressen zum Indexieren. Leer = jeder Nachweis für das Package.
TRUSTED_PROXIES — Proxys vor Ihrem Reverse Proxy, deren Adressen bei der Suche nach der Client-Adresse für das Anfragelimit übersprungen werden: cloudflare und/oder Adressen bzw. CIDRs, durch Kommas getrennt. Hinter Cloudflare cloudflare setzen.

Alle Endpunkte sind offen verfügbar. GET /api/v1/verify/{tx}?root=<expected> liefert den unabhängig indexierten Nachweis und ob er der erwarteten Merkle-Wurzel entspricht — dieselbe Gegenprüfung, die Klokk Anchor über LEDGER_URLS durchführt.

Endpunkt Beschreibung
GET /api/v1/status Netzwerk, Package, Anzahl indexiert, Zeitpunkt der letzten Indexierung.
GET /api/v1/verify/{tx} Verifizierungsergebnis; mit ?root= gegen die indexierte Wurzel vergleichen.
GET /api/v1/proofs/{tx} Ein einzelner indexierter Nachweis anhand des Transaktions-Digests.
GET /api/v1/proofs Nachweise für einen sender auflisten, mit Filtern company_token/period.
GET /api/v1/companies/{token}/proofs Nachweise für ein Firmen-Token, optional nach Zeitraum.