Ölçeklendirilmiş UI Miktarı Entegrasyon Kılavuzu

Solana'da Ölçeklendirilmiş UI Miktarı Uzantısını Desteklemek

Arka Plan

Ölçeklendirilmiş UI Miktarı uzantısı, token ihraççılarının bir kullanıcının token bakiyesinin UI miktarını hesaplarken kullanılacak bir çarpan belirlemelerine olanak tanır. Bu, ihraççıların yeniden tabanlı tokenler oluşturmasına ve hisse bölünmeleri gibi işlemleri etkinleştirmesine imkan verir. Bu uzantı, faiz getiren token uzantısı gibi, tamamen kozmetik bir UI miktarı sağlar, bu da ekiplerin iyi bir deneyim sunmak için bazı ek çalışmalar yapması gerektiği anlamına gelir. Altta yatan hesaplamalar ve transferlerin tümü, programdaki ham miktarlar kullanılarak gerçekleşir.

Kaynaklar:

Özet

  • Son kullanıcılar mümkün olduğunca token fiyatı, token bakiyesi ve token miktarları için UIAmount (ham miktar * çarpan) ile etkileşimde bulunmalıdır
  • dApp'ler ve servis sağlayıcıları tüm hesaplamalar için ham miktarı ve ölçeklendirilmemiş fiyatları kullanmalı ve kullanıcılar için son noktada dönüştürmelidir
  • Daha kolay entegrasyon için hem ölçeklendirilmiş hem de ölçeklendirilmemiş miktarlar için geçmiş fiyat verileri sağlanmalıdır
  • Doğru geçmiş veriler için geçmiş çarpan değerlerine erişilebilir olmalıdır

Terim Tanımları

  • Çarpan: UI Miktarı hesaplamaları için kullanılan statik güncellenebilir çarpan
  • UIAmount: çarpan * ham miktar (diğer adıyla: ölçeklendirilmiş miktar)
  • Ham Miktar: miktar (diğer adıyla: ölçeklendirilmemiş miktar)

Mevcut Bakiye

Görüntüleme için Mevcut Miktar

  • Ölçeklendirilmiş UI miktarı uzantısını kullanan tokenler için son kullanıcılara miktarları görüntülediğinizde şunlardan birini kullanmalısınız:
    • UIAmount/UIAmountString (tercih edilen)
    • Ham miktar * çarpan manuel hesaplaması
    • Bu değeri tokenin sahip olduğu ondalık sayısına göre kırpmanızı öneririz.
      • Örnek: eğer yUSD 6 ondalık basamağa sahipse ve bir kullanıcının UIAmount değeri 1.123456789 ise "1.123456" şeklinde görüntülemelisiniz

Bu veriyi nereden alabilirsiniz:

  • Bir kullanıcının canlı bakiyesi için yukarıdaki tutarlar hakkında güncel bilgileri getTokenAccountBalance veya getAccountInfo çağrısı yaparak alabilirsiniz
  • Herhangi bir tutar için UI Miktarını bilmeniz gerekiyorsa, bu hesaplamayı amountToUiAmountForMintWithoutSimulation (web3.js v1) fonksiyonunu çağırarak veya amountToUiAmount kullanarak bir işlem simülasyonu yaparak elde edebilirsiniz.
    • Not: amountToUiAmount bir işlem simülasyonu gerektirdiğinden, bakiyesi olan geçerli bir ücret ödeyicisine de ihtiyaç duyar. Bu nedenle, bakiye almak için varsayılan yöntem olmamalıdır.

Mevcut tutarı güncelleme

İhraççılar çarpanı herhangi bir zamanda güncelleyebildiğinden, hesap bakiyesini güncel tutmak için ara sıra yoklama yapmayı düşünebilirsiniz. İhraççıların bu çarpanı günde birden fazla güncellemesi pek olası değildir. Eğer bir çarpan gelecekteki bir tarih için ayarlanmışsa, bu güncelleme zamanında otomatik olarak yoklama yapabilirsiniz

İşlemlerdeki token miktarları (transferler / takaslar vb.)

  • Kullanıcılar, ölçeklendirilmiş "UIAmount" olarak yorumlanacak miktarları girmelidir. Bu işlemi gerçekleştirecek uygulama, işlem için ham token miktarına dönüştürmelidir.
    • Yuvarlama sorunları varsa, aşağı yuvarlayın ve işlemin başarısız olma riskini almaktansa küçük bir miktar toz bırakmayı tercih edin
    • Bu dönüşümü yapmak için uiAmountToAmountForMintWithoutSimulation (web3.js v1) fonksiyonunu kullanabilir veya amountToUiAmount kullanarak bir işlem simülasyonu yapabilirsiniz.
  • Uygulamalar, bir kullanıcı bakiyelerinin "maksimum" veya "tamamı" ile bir işlem yapmak istediğinde toplam ham miktarı kullanmalıdır. Bu, geriye toz kalmadığından emin olur.
    • İsteğe bağlı: "Maksimum" kullanıldığında, kullanıcının depolama depozitosunu iade etmek için hesabı otomatik olarak kapatmayı düşünebilirsiniz

Token fiyatı

  • Token fiyatı mümkün olan her yerde ölçeklendirilmiş fiyat olarak gösterilmelidir.
  • Eğer oracle gibi bir fiyat besleme servisi sağlayıcısıysanız, hem ölçeklendirilmiş hem de ölçeklenmemiş fiyatı sunmalısınız.
    • Mümkün olduğunca, ölçeklendirilmiş UI miktarı uzantısının karmaşıklıklarını soyutlayan bir SDK/API sağlayın.

Güncel çarpan

  • Güncel çarpan, herhangi bir zamanda token mint'inden getAccountInfo çağrısı yapılarak okunabilir. Ayrıca, eğer gelecekteki bir çarpan ayarlanmışsa, bu bilgi de token mint'inden erişilebilir. Kullanıcı deneyimini karıştırabileceği için bu çarpanı göstermemenizi öneririz.

Geçmiş veriler

Fiyat beslemesi için geçmiş veriler

  • Geçmiş veri sağlayan hizmetler, ölçeklendirilmiş UI miktarı uzantısı için hem ölçeklendirilmiş hem de ölçeklenmemiş fiyatları saklamalı ve sunmalıdır.
  • Ölçeklendirilmiş miktarların en sık kullanılmasını bekliyoruz çünkü bu, geleneksel finans dünyasının hisse bölünmesi olan tokenlerle ilgili grafikleri ele alış biçimiyle uyumludur.

Miktarlar için geçmiş veriler

  • Geçmişte transfer edilen bakiyeyi göstermek istiyorsanız, belirli bir slot'taki çarpana erişmeniz gerekir. İşlemleri işlerken gelecekte bu hesaplamayı yapmaktan kaçınmak için transferler için UiAmount'u da kaydedebilirsiniz.

Geriye dönük uyumluluk

  • Varsayılan olarak, ölçeklendirilmiş UI miktarı uzantısını anlamayan cüzdanlar ve uygulamalar, ölçeklenmemiş fiyat * ham miktar çarpımını yaparak bir aktivitenin doğru toplam fiyatını gösterecektir.
  • Ancak, ölçeklenmemiş fiyatı gösterecekleri için bu durum kullanıcı karışıklığına neden olabilir.
  • Ekiplerin dapp'lerini ölçeklendirilmiş UI miktarı uzantısını kullanan tokenlerle uyumlu hale getirmelerini umuyoruz ve bu süreçte destek sağlamaktan memnuniyet duyarız.

Platform Başına Önerilen Entegrasyon Öncelikleri

Genel Gereksinimler

GereksinimAçıklamaÖncelik
UiAmount Kullanarak Kullanıcı İşlemlerini DesteklemeTüm kullanıcı işlemleri, uygulama genelinde UiAmount etkinleştirildiğinde UiAmount olarak girilmelidir. UiAmount uygulama içinde görünmüyorsa, uygulama güncellenene kadar ham miktarları kullanmalıdırlar.P0

Cüzdanlar

GereksinimAçıklamaÖncelik
Ölçeklendirilmiş Bakiyeyi GörüntülemeÖlçeklendirilmiş miktarı (uiAmount) ana bakiye olarak göster.P0
Token Transferleri için DestekSon kullanıcılar transfer miktarlarını ölçeklendirilmiş bakiyeleriyle (ham miktar * bakiye) girmelidir.P0
Spot Fiyatı GörüntülemeKullanıcılar için ölçeklendirilmiş spot fiyatı gösterP0
İşlem Geçmişi Meta VerileriMümkün olan her yerde her transfer için ölçeklendirilmiş miktarı (UIAmount) göster.P1
İşlem Geçmişinde Çarpan Güncellemelerini GösterÇarpan güncellemeleri gerçekleştiğinde, bunu kullanıcının işlem geçmişinde kazanılan miktar dahil bir olay olarak gösterP2
Fiyat Geçmişi Grafiğini GörüntülemeFiyat grafiğinde ölçeklendirilmiş fiyatları yansıtP1
Kullanıma Alma/İpuçlarıKullanıcıları ölçeklendirilmiş ui miktarı uzantısını kullanan tokenler hakkında bilgilendirmek için ipuçları veya kullanıma alma özelliği sunP2

Gezginler

GereksinimAçıklamaÖncelik
Token Detay Sayfası GeliştirmeleriToplam ölçeklendirilmiş piyasa değeri ve mevcut çarpan gibi meta verileri görüntüleP0
Bakiyeler için Ölçeklendirilmiş Bakiyeyi GörüntülemeMevcut bakiyeler için ölçeklendirilmiş bakiyeleri (UiAmount) görüntüle.P0
İşlemler için Ölçeklendirilmiş Bakiyeyi GörüntülemeGeçmiş işlemlerin transfer miktarları için ölçeklendirilmiş bakiyeleri (UiAmount) görüntüle.P0
İşlemler için Ölçeklendirilmiş Fiyatı GörüntülemeÖnceki işlemler için ölçeklendirilmiş fiyatları görüntüleP1
Çarpan Güncelleme İşlemlerini Doğru Şekilde Ayrıştırma ve GörüntülemeÇarpan güncellemesi hakkındaki detayları doğru şekilde gösterP2

Piyasa Veri Toplayıcıları (Örn: CoinGecko)

GereksinimAçıklamaÖncelik
Ölçeklendirilmiş Veri için API GüncellemeleriAPI işlevselliğini zaman içindeki çarpan değişikliklerini ve ölçeklendirilmiş fiyat beslemesini içerecek şekilde genişletin.P0
Ölçeklendirilmiş Ayarlamalı Toplam ArzToplam arzı ve toplam piyasa değerini görüntülerken, ölçeklendirilmiş bakiyeleri dikkate alınP0
Geçmiş Fiyat TakibiZaman içinde ölçeklendirilmiş fiyatı kullanarak geçmiş fiyat grafiği sağlayın.P1
Geçmiş Çarpan TakibiFaiz getiren tokenlar için çarpan güncellemelerinin geçmiş işaretlerini sağlayın.P2
Eğitici İçerik veya AçıklamalarÖlçeklendirilmiş tokenlerin nasıl çalıştığını açıklayan kısa açıklamalar veya ipuçları ekleyin.P2

Fiyat Beslemesi Sağlayıcıları

GereksinimAçıklamaÖncelik
Ölçeklendirilmiş ve Ölçeklenmemiş Fiyat BeslemeleriHem ölçeklendirilmiş hem de ölçeklenmemiş fiyatlar için fiyat beslemeleri sağlayın.P0
Geçmiş Çarpan VerileriGeçmiş çarpan değişiklikleri ile API'ler sunun.P0
Geçmiş Fiyat VerileriHem ölçeklendirilmiş hem de ölçeklenmemiş miktarlara dayalı geçmiş fiyatlarla API'ler sunun.P0

DEX'ler

GereksinimAçıklamaÖncelik
Yeniden Tabanlı Token Bakiyelerini GöstermeKullanıcı arayüzünde ticaret veya likidite sağlama için ölçeklendirilmiş bakiyeleri gösterin. (arka uç hala ham miktarları kullanabilir)P0
Token İşlemleri DesteğiSon kullanıcılar işlem miktarlarını UiAmount bakiyeleriyle girmelidir (çarpan * ham miktar).P0
Fiyat Beslemesi AdaptasyonuMevcut fiyatı göstermek için fiyat beslemesinin kullanıldığı her yerde, son kullanıcılara ölçeklendirilmiş fiyatı sağlayın.P1
Fiyat Geçmişi Grafiğini GöstermeFiyat grafiğinde ölçeklendirilmiş fiyatları yansıtınP1

Is this page helpful?