Skip to main content

Əmr formatı

Hər PiNS əməliyyatı qeydiyyatçının protokol ünvanına göndərilən qorunan PIVX əməliyyatıdır; burada məbləğ ödənişi, memo isə imzalanmış əmri təşkil edir. Hər ikisi eyni notda hərəkət edir, beləliklə niyyət və ödəniş ayrılmaz şəkildə bağlanır — uzlaşdırılacaq ayrıca istinad və ya hesab-faktura yoxdur.

Bu səhifə dəqiq ötürmə formatını təsvir edir. Ona uyğun qurulmuş əmri həm qeydiyyatçı, həm də sıfır bilik sxemi qəbul edəcək.

Quruluş

Bütün əmrlər iki nöqtə ilə ayrılmış ASCII-dir və protokol markeri ilə versiyadan başlayır:

PiNS:1:{OP}:{name}:…:{ed25519_pubkey_hex}:…:{nonce}:{signature_hex}

Aradakı sahələr əməliyyatdan asılıdır:

ƏməliyyatMemo quruluşuÖdənilən məbləğ
REG qeydiyyatPiNS:1:REG:{name}:{address}:{pubkey}:{nonce}:{sig}adın uzunluğuna görə qeydiyyat haqqı
UPD ünvanı dəyişPiNS:1:UPD:{name}:{address}:{pubkey}:{nonce}:{sig}dəyişiklik haqqı
CHG sahibi ötürPiNS:1:CHG:{name}:{new_pubkey}:{nonce}:{sig}dəyişiklik haqqı
LST satışa çıxarPiNS:1:LST:{name}:{pubkey}:{price}:{nonce}:{sig}dəyişiklik haqqı
ULT satışdan çıxarPiNS:1:ULT:{name}:{pubkey}:{nonce}:{sig}dəyişiklik haqqı
BUY alPiNS:1:BUY:{name}:{address}:{pubkey}:{nonce}:{sig}dəqiq elan qiyməti

CHG üçün {new_pubkey}qəbul edən sahibin açarıdır, imzanı isə ötürən sahib atır: ötürməni təsdiqləyən cari sahibdir.

İmzalanan mesaj

İmza əmri sondakı :{signature} olmadan əhatə edir — yəni markerdən nonce daxil olmaqla hər şeyi:

PiNS:1:REG:richard.pivx:ps1f84lvgj…:0101…0101:1780000001

Qaydalar dəqiqdir və onlardan hər hansı birini pozan müştəri sxemin rədd etdiyi imza alır:

  • pubkeykiçik hərflərlə hex, 64 simvol.
  • price yalnız LST üçün mövcuddur.
  • address yalnız REG, UPDBUY üçün mövcuddur.
  • pricenonce onluqdur; qabaqda sıfır, işarə və ya doldurma olmadan.
  • İmza məhz həmin baytlar üzərində Ed25519-dur, hex kodlaşdırmada, 128 simvol.

Yoxlama ciddidir: qeyri-kanonik imzalar və kiçik tərtibli açarlar rədd edilir.

Sahə qaydaları

QaydaDəyər
Simvollara-z, 0-9, defis
Uzunluqzona daxil olmaqla 1–64 simvol
Registryalnız kiçik hərflər — ad kiçik hərflərlə saxlanılır və heş olunur
Defislərəvvəldə deyil, sonda deyil, heç vaxt ardıcıl deyil
Zonalar.pivx, .private, .secure, .safe

Etiketi zonadan ayıran dəqiq bir nöqtəyə icazə verilir.

Hədəf ünvan

Adın həll olunduğu ünvan əsas şəbəkədə qorunan PIVX Sapling ödəniş ünvanı olmalıdır — bech32, insan üçün oxunaqlı prefiks ps, dəqiq 78 simvol. Şəffaf ünvanlar və digər hər şey rədd edilir.

Uzunluq təsadüfi deyil. Sapling ödəniş ünvanı 43 baytlıq yükdür — 11 baytlıq diversifikator üstəgəl 32 baytlıq pk_d — və bech32 bunu 69 məlumat simvolu üstəgəl 6 simvolluq yoxlama cəmi kimi kodlaşdırır, yəni ps + ayırıcı + 69 + 6 = 78.

Qorunan ünvanın tələb olunmasının səbəbi təsadüfi deyil, praktikdir: qeydiyyatçı vəsaiti Sapling açar materialı vasitəsilə qəbul edir və ödəyir, ona görə ödəyə bilmədiyi ünvan nə geri qaytarmalar, nə də satış gəlirləri üçün yararlıdır.

tip

Yalnız müasir bech32 forması qəbul edilir

Köhnə test şəbəkəsi forması ptestsapling… (88 simvol) hər iki şəbəkədə rədd olunur və sxem qeydiyyatçı ilə eyni qaydanı tətbiq edir. İstənilən müasir PIVX pulqabısı əsas şəbəkədə ps… formasını verir.

Nonce

Nonce — imzaladığınız andakı saniyələrlə Unix vaxt möhürüdür.

  • O, həmin ad üçün hazırda qeydə alınmış nonce dəyərindən ciddi şəkildə böyük olmalıdır. Köhnə imzalanmış əmrin təkrar istifadəsinin qarşısını alan məhz budur.
  • O, onu daşıyan blokdan 300 saniyədən çox qabağa keçə bilməz; bu ehtiyat adi saat sürüşməsini udur, lakin nonce-un çox uzaq gələcəyə qoyulmasına imkan vermir.

İlk qeydiyyat üçün istənilən cari vaxt möhürü kifayətdir.

Qiymət

Qiyməti yalnız LST daşıyır. O, tam ədəd satoşi ilə göstərilir (1 PIVX = 100 000 000 satoşi) və sıfırdan böyük olmalıdır.

Artıq satışda olan adı yeni qiymətlə təkrar satışa çıxarmaq mümkündür — başqa bir LST göndərin. Sonuncusu qalib gəlir.

Ölçü məhdudiyyəti

PIVX memo-su tam 512 bayt tutur və bütün əmr ora yerləşməlidir. Sabit hissələr proqnozlaşdırıla bilən yer tutur:

PiNS:1:{OP}: … marker, version, operation 11 bytes
{pubkey} 64 hex characters 65 bytes with separator
{nonce} 10 digits today 11 bytes with separator
{signature} 128 hex characters 128 bytes
{address} 78 characters 79 bytes with separator

Sapling ünvanı həmişə dəqiq 78 simvoldur, ona görə dəyişkən uzunluqlu ünvan formatından fərqli olaraq büdcəni hesablamaq asandır: ad üçün təxminən 218 bayt qalır, bu isə adın istifadə edə biləcəyi ən çox 64 simvoldan qat-qat çoxdur. Praktikada əmr həmişə yerləşir. Buna baxmayaraq, müştərilər büdcəni güman etmək əvəzinə hesablamalıdır ki, gələcəkdə əlavə olunacaq sahə memo-nu səssizcə daşdırmasın.

Ödəniş

Etibarlılığı memo qədər məbləğ də müəyyən edir:

Uzunluq zona nəzərə alınmadan etiketə görə ölçülür: ab.pivx — 2 simvolluq addır.

Az və ya çox ödənilmiş əmr emal olunmur. Əməliyyat və açıq açar oxunaqlıdırsa, məbləğ daxili balansınıza yazılır və çıxarıla bilər — bax: Suallar və cavablar.

Sıra

Əmrlər PIVX-in yaratdığı sıra ilə emal olunur: blok hündürlüyü, sonra blok daxilində əməliyyat indeksi, sonra giriş indeksi. Qeydiyyatçı sıranı seçmir və hər müstəqil indeksləyicinin fərqli kök hesablamasına səbəb olmadan onu dəyişə bilməz.

Rəqabətli əməliyyatlarda — eyni ad üçün iki REG və ya eyni elan üzrə iki BUY — bu sıradakı birinci əməliyyat qalib gəlir, qalanlarına isə məbləğ daxili balansa qaytarılır.

Addım-addım nümunə

richard.pivx qeydiyyatı:

1. Generate an Ed25519 keypair. The public key is your identity across all your names.

2. Build the message to sign (note: no trailing signature field):

PiNS:1:REG:richard.pivx:ps1f84lvgj0awz…:3757ee1a…a53:1780000001

3. Sign it with the private key; hex-encode the 64-byte signature.

4. Append it to form the memo:

PiNS:1:REG:richard.pivx:ps1f84lvgj0awz…:3757ee1a…a53:1780000001:cfec7a58…04

5. Send a shielded transaction to the registrar address, with that memo, paying the
registration fee for a 7-character name.

Bir neçə dəqiqə ərzində əmr paketə düşür, sübut olunur və lövbərlənir. Bundan sonra richard.pivx istənilən indeksləyici vasitəsilə həll olunur, həm də özünüz yoxlaya biləcəyiniz Merkle sübutu ilə birlikdə.