Zum Hauptinhalt springen

Namensauflösung

Einen Namen auflösen

Löst einen PIVX-Namen auf und liefert die zugehörige PIVX-Adresse, die Beweisdetails, Synchronisations-Checkpoints und Registrierungsdaten.

Endpunkt

GET https://indexer.pivx.name/v1.0/resolve/{name} (nur Namensauflösung)
POST https://indexer.pivx.name/v1.0/resolve/{name} (falls zusätzliche Parameter nötig sind)

Pfadparameter

ParameterTypErforderlichBeschreibung
{name}stringJaDer aufzulösende PIVX-Name (z. B. richard.pivx).

Anfragekörper

Der Anfragekörper muss ein JSON-Objekt mit folgenden Parametern sein:

ParameterTypStandardBeschreibung
extendedbooleanfalseBei true wird zusätzlich domain_tx zurückgegeben (der TX-Hash der Domainregistrierung).
with_checkpointbooleanfalseBei true wird der aktuelle Checkpoint zurückgegeben, auf den der Indexer synchronisiert ist.

Codebeispiele

curl -X POST https://indexer.pivx.name/v1.0/resolve/richard.pivx \
-H "Content-Type: application/json" \
-d '{
"extended": true,
"with_checkpoint": true
}'

Beispielantwort

{
"response": {
"domain_name": "bob.pivx",
"target_address": "ps12qtzaw6x3dh35xuukrqgk06e9ffx8szg2n2huqncwjsnj3ajczmklqgcx97kn63vwlge6gj2cmn",
"owner_pubkey": "1111111111111111111111111111111111111111111111111111111111111111",
"price": 250000000,
"nonce": 1780000002,
"smt_root": "5892c31e50ad3a4cf0407b91b3012a196d60c4e4f53e37261ac6747dea180eea",
"merkle_proof": [
"29bc98ae3a939618e50ba72e11a25ba30b37bb53a168a17463b9ef3fe90495d8",
"0000000000000000000000000000000000000000000000000000000000000000"
],
"proof_depth": 2,
"proof_terminal": "Occupied"
}
}
FeldTypBeschreibung
domain_namestringDer registrierte Name
target_addressstringPIVX-Zieladresse
owner_pubkeystringÖffentlicher Schlüssel des Namensinhabers
priceintPreisangabe (für den Marktplatz)
nonceintAufsteigende Nonce
smt_rootstringAktueller Merkle-Tree-Root (hex)
(bei with_checkpoint:false, sonst siehe SMT-Root unter "checkpoint")
merkle_proofstring[]Geschwisterhashes in hex; [0] ist am tiefsten. Länge entspricht proof_depth
proof_depthintAnzahl der Geschwister — prüfen Sie, dass sie merkle_proof.length entspricht
proof_terminalstring | object"Occupied", "Vacant" oder {"Blocked":{…}} — siehe unten
extended:
created_block_idintPIVX-block_id der Domainerstellung
updated_block_idintPIVX-block_id der letzten Domainänderung
domain_txstringDer PIVX-Transaktionshash der Namensregistrierung
with_checkpoint:Felder innerhalb von "checkpoint":
idxintPosition im rootChain-Array des Anchor-Vertrags; der Wiederaufnahmepunkt der Checkpoint-Ermittlung
block_idintDie PIVX-block_id des zuletzt erzeugten SMT-Beweises
smt_rootstringAktueller Merkle-Tree-Root (hex)

proof_terminal

Beschreibt, was am Ende des Beweispfads steht. Erst das macht Abwesenheit beweisbar statt bloß behauptet:

WertBedeutung
"Occupied"dort steht das eigene Blatt des Namens — eine erfolgreiche Auflösung. Weisen Sie jede Auflösung zurück, deren Terminal nicht dies ist.
"Vacant"dort steht ein leerer Teilbaum — der Name ist nicht registriert
{"Blocked": {"record": {…}}}an dieser Position steht das Blatt eines anderen Namens, der abgefragte Name ist also nicht registriert. Der blockierende Datensatz ist vollständig enthalten, sodass Sie die Behauptung prüfen statt ihr vertrauen können.

Prüfcode für all dies in Python, PHP und JavaScript steht unter Beweise prüfen.

Umgekehrte Namensauflösung

Geben Sie eine PIVX-Adresse an, um umgekehrt aufzulösen:

GET/POST https://indexer.pivx.name/v1.0/resolve/reverse/{address}

Die POST-Parameter sind oben beschrieben.

Namen nach Inhaber

Alle Namen, die einem bestimmten öffentlichen Ed25519-Schlüssel gehören.

GET/POST https://indexer.pivx.name/v1.0/resolve/owner/{Ed25519_public_key}

Die POST-Parameter sind oben beschrieben.