Перейти к основному содержимому

Разрешение имени

Разрешение имени

Разрешает имя PIVX, возвращая связанный с ним адрес PIVX, детали доказательства, контрольные точки синхронизации и данные регистрации.

Точка доступа

GET https://indexer.pivx.name/v1.0/resolve/{name} (только разрешение имени)
POST https://indexer.pivx.name/v1.0/resolve/{name} (если нужны дополнительные параметры)

Параметры пути

ПараметрТипОбязательныйОписание
{name}stringДаИмя PIVX, которое нужно разрешить (например, richard.pivx).

Тело запроса

Тело запроса должно быть объектом JSON со следующими параметрами:

ПараметрТипПо умолчаниюОписание
extendedbooleanfalseЕсли true, дополнительно возвращает domain_tx (хеш транзакции регистрации домена).
with_checkpointbooleanfalseЕсли true, возвращает текущую контрольную точку, до которой синхронизирован индексатор.

Примеры кода

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

Пример ответа

{
"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"
}
}
ПолеТипОписание
domain_namestringЗарегистрированное имя
target_addressstringЦелевой адрес PIVX
owner_pubkeystringПубличный ключ владельца имени
priceintЦена (используется на Маркетплейсе)
nonceintВозрастающий nonce
smt_rootstringТекущий корень дерева Меркла (hex)
(если with_checkpoint:false, иначе см. корень SMT в "checkpoint")
merkle_proofstring[]Соседние хеши в hex; [0] — самый глубокий. Длина равна proof_depth
proof_depthintКоличество соседей — проверьте, что оно равно merkle_proof.length
proof_terminalstring | object"Occupied", "Vacant" или {"Blocked":{…}} — см. ниже
extended:
created_block_idintblock_id блока PIVX, в котором создан домен
updated_block_idintblock_id блока PIVX последнего изменения домена
domain_txstringХеш транзакции PIVX с регистрацией имени
with_checkpoint:Поля внутри "checkpoint":
idxintПозиция в массиве rootChain якорного контракта; курсор возобновления при получении чекпоинтов
block_idintblock_id блока PIVX последнего сгенерированного доказательства SMT
smt_rootstringТекущий корень дерева Меркла (hex)

proof_terminal

Описывает, что находится в конце пути доказательства. Именно это делает отсутствие доказуемым, а не просто заявленным:

ЗначениеСмысл
"Occupied"там собственный лист имени — успешное разрешение. Отклоняйте любое разрешение, терминал которого отличается от этого.
"Vacant"там пустое поддерево — имя не зарегистрировано
{"Blocked": {"record": {…}}}эту позицию занимает лист другого имени, значит, запрошенное имя не зарегистрировано. Блокирующая запись включена целиком, так что вы можете проверить это утверждение, а не доверять ему.

Код проверки всего перечисленного на Python, PHP и JavaScript приведён в разделе Проверка доказательств.

Обратное разрешение имени

Укажите адрес PIVX, чтобы выполнить обратное разрешение:

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

Параметры POST описаны выше.

Имена по владельцу

Все имена, которыми владеет заданный публичный ключ Ed25519.

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

Параметры POST описаны выше.