Skip to main content

Paket Nedir

Paket, sırayla ve ya hep ya hiç esasıyla yürütülen 1 ila 4 işlemden oluşan bir gruptur. Ya paketteki her işlem verdiğiniz sırayla aynı bloğa girer ya da hiçbiri girmez. Sonraki bir işlem yalnızca önceki başarılı olduysa anlam taşıyorsa paket kullanın, örneğin bir hazırlık işlemi ve ardından gelen bir takas.
Paketler yalnızca Jito etkin liderlerde bloğa girer. Bir işlem grubu, stake ağırlıklı veya doğrudan TPU yollarında atomik tutulamaz, bu yüzden paketler yalnızca blok motoru yoluna gider. Mevcut lider Jito çalıştırmıyorsa paket, çalıştıran bir sonraki lideri bekler. Tek bir işlem için normal bir gönderim üç yolun hepsini kullanır ve bloğa daha erken girer.

Kurallar

Bahşiş, tek bir gönderimdeki bahşiş kuralının aynısına uyar: yayınlanmış bir bahşiş hesabına, bir imzalayan tarafından karşılanan, bahşiş hesabı statik anahtarlarda olan tek bir üst düzey SystemProgram transferi. Bu bahşişten 5.000 lamport’luk temel ücret düşüldükten sonra kalan tutar, tüm paket için Jito teklifi olur. Paket atomik olduğundan bahşiş yalnızca paketin tamamı bloğa girerse ödenir.

JSON-RPC sendBundle

Sonuç bir paket kimliğidir. Paketin durumunu sorgulamak için onu saklayın. sendBundle, base58 ile kodlanmış işlemler için {"encoding": "base58"} değerini de kabul eder. Aşağıdaki örnekler base64 kullanır.
JavaScript ve Python örnekleri, yardımcıyı İşlem gönderme sayfasından içe aktarır. Yanıt:

POST /send-bundle

İkili rota, /send-batch ile aynı çerçevelemeyi alır: her işlem için big-endian u16 uzunluk ve ardından ham işlem baytları, yürütme sırasına göre 1 ila 4 çerçeve.
Yanıt:
Hatalar, diğer düz HTTP rotalarıyla aynı biçimi ve durum kodlarını kullanır. Bütün olarak reddedilen bir paket bundle etiketiyle döner.

Bir Paketi İzleyin

getInflightBundleStatuses yöntemini bir paket kimlikleri dizisiyle çağırın:
Sonuç, sorduğunuz sırayla her paket kimliği için bir kayıt içerir:
landed_slot, paketin bloğa girdiği slottur; paket henüz bloğa girmediyse null olur. status dört durumdan biridir: Apex paketi yeniden gönderirken paket kimliği aynı kalır; bu yüzden paketi gönderdiğinizde aldığınız kimliği sorgulamaya devam edin. Paketi gönderdiğiniz Apex uç noktasının aynısına sorun. Paket kimlikleri uç noktalar arasında paylaşılmaz. Paket atomik olduğundan onu herhangi bir işlem gibi de onaylayabilirsiniz: imzalarından herhangi biri bir Solana RPC üzerindeki getSignatureStatuses içinde onaylanmış olarak göründüğünde paketin tamamı bloğa girmiştir.

Paket mi, Toplu Gönderim mi?