Komut biçimi
Her PiNS işlemi, kayıt operatörünün protokol adresine gönderilen korumalı bir PIVX işlemidir; burada tutar ödemeyi, memo ise imzalı komutu oluşturur. İkisi de aynı notta yolculuk eder, böylece niyet ve ödeme ayrılmaz biçimde bağlanır — eşleştirilecek ayrı bir referans ya da fatura yoktur.
Bu sayfa, tam aktarım biçimini anlatır. Buna göre kurulmuş bir komutu hem kayıt operatörü hem de sıfır bilgi devresi kabul eder.
Yapı
Tüm komutlar iki nokta üst üste ile ayrılmış ASCII'dir ve protokol işaretçisi ile sürümle başlar:
PiNS:1:{OP}:{name}:…:{ed25519_pubkey_hex}:…:{nonce}:{signature_hex}
Aradaki alanlar işleme göre değişir:
| İşlem | Memo yapısı | Ödenen tutar |
|---|---|---|
REG kaydet | PiNS:1:REG:{name}:{address}:{pubkey}:{nonce}:{sig} | isim uzunluğuna göre kayıt ücreti |
UPD adres değiştir | PiNS:1:UPD:{name}:{address}:{pubkey}:{nonce}:{sig} | değişiklik ücreti |
CHG sahibi devret | PiNS:1:CHG:{name}:{new_pubkey}:{nonce}:{sig} | değişiklik ücreti |
LST satışa çıkar | PiNS:1:LST:{name}:{pubkey}:{price}:{nonce}:{sig} | değişiklik ücreti |
ULT satıştan kaldır | PiNS:1:ULT:{name}:{pubkey}:{nonce}:{sig} | değişiklik ücreti |
BUY satın al | PiNS:1:BUY:{name}:{address}:{pubkey}:{nonce}:{sig} | tam olarak ilan fiyatı |
CHG için {new_pubkey}, devralan sahibin anahtarıdır; imza ise devreden sahip
tarafından atılır — bir devri yetkilendiren, mevcut sahiptir.
İmzalanan mesaj
İmza, komutu sondaki :{signature} olmadan kapsar; yani işaretçiden nonce dâhil olmak üzere
her şeyi:
PiNS:1:REG:richard.pivx:ps1f84lvgj…:0101…0101:1780000001
Kurallar kesindir ve bunlardan herhangi birini yanlış uygulayan bir istemci, devrenin reddettiği bir imza üretir:
pubkeyküçük harf hex'tir, 64 karakter.priceyalnızcaLSTiçin bulunur.addressyalnızcaREG,UPDveBUYiçin bulunur.pricevenonceondalıktır; başında sıfır, işaret veya dolgu olmaz.- İmza, tam olarak bu baytlar üzerinde Ed25519'dur; hex kodlu, 128 karakter.
Doğrulama katıdır: kanonik olmayan imzalar ve küçük mertebeli anahtarlar reddedilir.
Alan kuralları
İsim
| Kural | Değer |
|---|---|
| Karakterler | a-z, 0-9, tire |
| Uzunluk | bölge dâhil 1–64 karakter |
| Büyük/küçük harf | yalnızca küçük harf — isim küçük harfle saklanır ve hash'lenir |
| Tireler | başta olmaz, sonda olmaz, asla çift olmaz |
| Bölgeler | .pivx, .private, .secure, .safe |
Etiketi bölgeden ayıran tam olarak bir noktaya izin verilir.
Hedef adres
Bir ismin çözümlendiği adres, ana ağda korumalı bir PIVX Sapling ödeme adresi olmalıdır —
bech32, insan tarafından okunabilir önek ps, tam 78 karakter. Şeffaf adresler ve başka her
şey reddedilir.
Uzunluk keyfî değildir. Sapling ödeme adresi 43 baytlık bir yüktür — 11 baytlık bir
çeşitlendirici artı 32 baytlık pk_d — ve bech32 bunu 69 veri karakteri artı 6 karakterlik
sağlama toplamı olarak kodlar; yani ps + ayırıcı + 69 + 6 = 78.
Korumalı adres istenmesinin nedeni keyfî değil pratiktir: kayıt operatörü tahsilat ve ödemelerini Sapling anahtar materyali üzerinden yapar, dolayısıyla ödeme yapamadığı bir adres ne iadeler ne de satış gelirleri için kullanılabilir.
Yalnızca modern bech32 biçimi kabul edilir
Eski test ağı biçimi ptestsapling… (88 karakter) her iki ağda da reddedilir ve devre, kayıt
operatörüyle aynı kuralı uygular. Güncel her PIVX cüzdanı ana ağda ps… biçimini üretir.
Nonce
Nonce, imzaladığınız andaki saniye cinsinden Unix zaman damgasıdır.
- O isim için hâlihazırda kayıtlı olan nonce'tan kesin olarak büyük olmalıdır. Eski bir imzalı komutun yeniden kullanılmasını önleyen budur.
- Kendisini taşıyan bloğun 300 saniyeden fazla önüne geçemez; bu pay, olağan saat kaymasını soğurur ama bir nonce'un çok ileri bir tarihe park edilmesine izin vermez.
İlk kayıt için güncel herhangi bir zaman damgası yeterlidir.
Fiyat
Fiyatı yalnızca LST taşır. Tam sayı satoshi cinsindendir (1 PIVX = 100.000.000 satoshi) ve
sıfırdan büyük olmalıdır.
Hâlihazırda listelenmiş bir ismi yeni bir fiyatla yeniden listelemek serbesttir — başka bir LST
gönderin. En sonuncusu geçerlidir.
Boyut sınırı
Bir PIVX memo'su tam olarak 512 bayttır ve komutun tamamı buraya sığmalıdır. Sabit kısımlar öngörülebilir bir yer tutar:
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 adresi her zaman tam 78 karakterdir; bu yüzden değişken uzunluklu bir adres biçiminin aksine bütçeyi düşünmek kolaydır: isme yaklaşık 218 bayt kalır, ki bu bir ismin kullanabileceği en fazla 64 karakterin çok üzerindedir. Pratikte bir komut her zaman sığar. Yine de istemciler bütçeyi varsaymak yerine hesaplamalıdır ki ileride eklenecek bir alan memo'yu sessizce taşırmasın.
Ödeme
Geçerliliği memo kadar tutar da belirler:
REG, isim uzunluğuna karşılık gelen kayıt ücretini tam olarak ödemelidir.UPD,CHG,LST,ULT, değişiklik ücretini tam olarak ödemelidir.BUY, ilan fiyatını tam olarak ödemelidir.
Uzunluk, bölge hariç etiket üzerinden ölçülür: ab.pivx, 2 karakterlik bir isimdir.
Eksik ya da fazla ödenmiş bir komut işlenmez. İşlem ve açık anahtar okunabiliyorsa tutar iç bakiyenize yazılır ve çekilebilir — bkz. Soru & Cevap.
Sıralama
Komutlar, PIVX'in ürettiği sırayla işlenir: blok yüksekliği, sonra blok içindeki işlem indeksi, sonra girdi indeksi. Kayıt operatörü sırayı seçmez ve her bağımsız indeksleyicinin farklı bir kök hesaplamasına yol açmadan sırayı değiştiremez.
Çekişmeli işlemlerde — aynı isim için iki REG ya da aynı ilan için iki BUY — bu sıradaki ilk
işlem kazanır, diğerlerine tutar iç bakiyeye iade edilir.
Adım adım örnek
richard.pivx kaydı:
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.
Birkaç dakika içinde komut toplu işe alınır, ispatlanır ve çıpalanır. Bundan sonra
richard.pivx, kendiniz denetleyebileceğiniz bir Merkle ispatıyla birlikte herhangi bir
indeksleyici üzerinden çözümlenir.