Skip to main content

Bahşiş Kuralı

Apex üzerinden gönderdiğiniz her işlem, aşağıdaki koşulların tümünü karşılayan tam olarak bir bahşiş içermelidir:
1

Bir SystemProgram transferi

Bahşiş, yayınlanmış Apex bahşiş hesaplarından birine yapılan düz bir SystemProgram::Transfer talimatıdır.
2

Üst düzey

Transfer, işlemin üst düzey bir talimatıdır. Programınızın içinden CPI aracılığıyla yapılan bir transfer sayılmaz.
3

Bir imzalayan tarafından karşılanır

Bahşişi ödeyen hesap işlemi imzalar. Ücret ödeyen hesap olması gerekmez.
4

Bahşiş hesabı statik anahtarlarda

Bahşiş hesabı, işlemin statik hesap anahtarlarında yer alır. Onu bir adres arama tablosu üzerinden yüklemeyin.
5

Katmanınızın tabanında veya üzerinde

Standart katman tabanı 0,001 SOL’dur (1.000.000 lamport). Anahtarınızın katmanı farklı bir taban belirleyebilir.
Bahşişi olmayan, birden fazla bahşişi olan veya bahşişi tabanınızın altında kalan bir işlem, herhangi bir yere gönderilmeden önce reddedilir. Ret, hangi kuralın ihlal edildiğini söyler ve taban altı mesajı tabanınızı belirtir. Hatalar ve hız sınırları sayfasına bakın.

Yalnızca İşlem Bloğa Girince Ödersiniz

Bahşiş işleminizin içindedir. İşlem bloğa girmezse transfer hiç yürütülmez ve hiçbir şey ödemezsiniz. Reddedilen, süresi dolan veya düşürülen bir işlem size bahşişe mal olmaz.

Bahşiş Hesaplarını Alın

Herhangi bir Apex uç noktasında JSON-RPC getTipAccounts yöntemini çağırın. API anahtarı gerektirmez.
Yanıt, base58 adreslerinden oluşan bir dizidir:
Listeyi başlangıçta alın ve önbelleğe kaydedin. Her işlem için rastgele bir hesap seçin. Bahşişleri hesaplara yaymak, işlemlerinizin aynı hesap üzerindeki yazma kilidi için birbiriyle çekişmesini önler.

Yayınlanan Hesaplar

Ana ağ bahşiş hesapları; hepsi 9ig7pd4gqe2m16ACGPbPo4HfMGD3ba38poDhXEayx7EF bahşiş programının kasalarıdır. Yetkili liste getTipAccounts çıktısıdır: uç nokta yalnızca oradakileri kabul eder ve bir değişiklik önce orada görünür. Her adres APeX ile başlar, bu yüzden değiştirilmiş bir hesap hemen fark edilir.

Bahşiş Talimatını Ekleyin

Bunu, kendi talimatlarınızın yanında işlemin talimat listesine ekleyin. Hızlı başlangıç eksiksiz programları gösterir.

Bahşiş Nereye Gider

Bahşiş hesapları, OrbitFlare’in zincir üstü bahşiş programının kasalarıdır. Bu hesaplardan yalnızca program para çekebilir. İşleminizi bloğa ulaştıran yol Jito yolu olduğunda, bahşişten 5.000 lamport’luk temel ücret düşülerek kalan tutar, işleminizle aynı paket içinde Jito’ya teklif olarak verilir. Ayrı bir Jito bahşişi eklemezsiniz. Tek bir Apex bahşişi üç yolun hepsini kapsar. Dolayısıyla daha büyük bir bahşiş, Jito açık artırmasında daha büyük bir teklif anlamına gelir. İşlemi hangi yol bloğa ulaştırırsa ulaştırsın size aynı tutara mal olur, çünkü bahşiş imzaladığınız transferin kendisidir.

Bahşiş ve Öncelik Ücreti Farklı Şeylerdir

Apex işleminizi lidere ulaştırır. Liderin zamanlayıcısı ise işlemleri yine öncelik ücretine göre sıralar. Bu ücret, hesaplama birimi fiyatınızın hesaplama birimi limitinizle çarpımıdır. Her işlemde ikisini de belirleyin:
  • İşlemin gerçekten kullandığı miktara yakın bir hesaplama birimi limiti. Gereğinden büyük bir limit, birim başına etkin önceliğinizi düşürür ve blok alanını boşa harcar.
  • Dokunduğunuz hesaplar için mevcut piyasaya uygun bir hesaplama birimi fiyatı.
Bu talimatlar legacy ve v0 işlemler içindir. Bir transaction v1 hesaplama bütçesini mesajın TransactionConfig yapısında belirler. İkisinin de boyutlandırılmasına ilişkin rehberlik için En iyi uygulamalar sayfasına bakın.