Перейти до основного вмісту

Розв'язання імені

Розв'язання імені

Розв'язує ім'я 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 описані вище.