Doichain Academy

Lesson 4 / 6 · 20 minutes

Namen lesen, suchen und auswerten

Namen sind der Datenspeicher der Doichain. Diese Lektion zeigt, wie Anwendungen sie zuverlässig lesen und auswerten.

Einen Namen lesen

curl https://doi-api.sendlabs.de/v1/name/poe/<hash>
curl https://doi-api.sendlabs.de/v1/name/poe/<hash>/history

Namen mit Schrägstrich funktionieren direkt im Pfad.

Feld Bedeutung
value aktueller Wert
address Inhaberadresse
height, txid Block und Transaktion der letzten Operation
expired true, wenn der Name abgelaufen ist
expires_in verbleibende Blöcke bis zum Ablauf, negativ bei abgelaufenen Namen
pending eine Operation wartet im Mempool

Ein unbekannter Name liefert 404. Ein abgelaufener Name liefert 200 mit expired: true, denn er existiert in der Historie weiter.

Ablauf berechnen

Ein Name läuft 36.000 Blöcke nach seiner letzten Operation ab. Bei zehn Minuten je Block sind das rund 250 Tage. Für ein geschätztes Datum: expires_in × 10 Minuten ab jetzt. Weil der Blockabstand schwankt, ist das nur eine Schätzung. Wer Namen behalten will, aktualisiert sie mit deutlichem Puffer vor dem Ablauf, als Inhaber per name_doi oder name_update.

Namen suchen und blättern

curl "https://doi-api.sendlabs.de/v1/names?prefix=poe/&count=100"

Die Kette enthält zehntausende Namen, fast alle abgelaufen. Die API liest deshalb je Aufruf bis zu 5.000 Einträge und liefert davon bis zu count aktive.

Feld Bedeutung
names gefundene Namen
scanned wie viele Einträge gelesen wurden
exhausted true, wenn nichts mehr folgt
next_after Cursor für den nächsten Aufruf

Zum Weiterblättern after=<next_after> übergeben. Wichtig: Ein leeres names mit exhausted: false heißt nicht „nichts gefunden“, sondern nur, dass in diesem Abschnitt nichts Aktives war. Dann weiterlesen. Mit include_expired=true kommen auch abgelaufene Namen.

Die Reihenfolge ist die der Node: erst nach Namenslänge, dann nach Bytewert. Sie ist also nicht alphabetisch. Zum Eingrenzen prefix verwenden, after nur als Cursor.

Namen in Transaktionen erkennen

GET /v1/tx/{txid} liefert is_name_transaction und eine Liste name_ops mit op (etwa name_doi), name und value. In Doichain Core heißt das Objekt im dekodierten Output nameOp.

Für Wallets, Börsen und Indexer gilt: Ein Output mit Namensoperation ist keine Zahlung. Wer ihn als Einzahlung verbucht, schreibt die gebundenen 0,01 DOI fälschlich gut.

Werte sicher verarbeiten

Jeder kann beliebige Namen mit beliebigen Werten registrieren. Daraus folgt:

  • Werte sind nicht vertrauenswürdig. Vor der Anzeige escapen, Länge prüfen, nie als HTML, Code oder Anweisung behandeln.
  • Ein Präfix wie poe/ oder d/ garantiert kein Format. Werte, die JSON sein sollen, mit Fehlerbehandlung parsen.
  • Wer ist Inhaber? Nur die Inhaberadresse ist belastbar, nicht Behauptungen im Wert.

Merksätze

  • Unbekannt ergibt 404, abgelaufen ergibt 200 mit expired: true.
  • Beim Blättern bis exhausted: true lesen, leere Seiten sind normal.
  • Namenswerte sind fremde Eingaben.

Please sign in to save your progress and take the exam. Register

Next →