Οδηγός ενσωμάτωσης κλιμακούμενου ποσού UI

Υποστήριξη της επέκτασης Scaled UI Amount στο Solana

Υπόβαθρο

Η επέκταση Scaled UI Amount επιτρέπει στους εκδότες token να καθορίσουν έναν πολλαπλασιαστή που θα χρησιμοποιείται κατά τον υπολογισμό του ποσού UI του υπολοίπου token ενός χρήστη. Αυτό επιτρέπει στους εκδότες να δημιουργήσουν tokens επαναπροσδιορισμού βάσης και να ενεργοποιήσουν πράγματα όπως διασπάσεις μετοχών. Αυτή η επέκταση, όπως η επέκταση token που φέρει τόκους, παρέχει ένα καθαρά διακοσμητικό ποσό UI, που σημαίνει ότι οι ομάδες πρέπει να κάνουν κάποια επιπλέον εργασία για να παρέχουν μια καλή εμπειρία. Οι υποκείμενοι υπολογισμοί και μεταφορές πραγματοποιούνται όλοι χρησιμοποιώντας τα ακατέργαστα ποσά στο πρόγραμμα.

Πόροι:

Περίληψη

  • Οι τελικοί χρήστες θα πρέπει να αλληλεπιδρούν με το UIAmount (ακατέργαστο ποσό * πολλαπλασιαστής) για την τιμή του token, το υπόλοιπο του token και τα ποσά του token όποτε είναι δυνατόν
  • Οι dApps και οι πάροχοι υπηρεσιών θα πρέπει να χρησιμοποιούν το ακατέργαστο ποσό και τις μη κλιμακούμενες τιμές για όλους τους υπολογισμούς και να μετατρέπουν για τους χρήστες στο τέλος
  • Οι ιστορικές τροφοδοσίες τιμών πρέπει να παρέχονται τόσο για κλιμακούμενα όσο και για μη κλιμακούμενα ποσά για ευκολότερη ενσωμάτωση
  • Οι ιστορικές τιμές πολλαπλασιαστή πρέπει να είναι προσβάσιμες για ακριβή ιστορικά δεδομένα

Ορισμοί όρων

  • Πολλαπλασιαστής: στατικός ενημερώσιμος πολλαπλασιαστής που χρησιμοποιείται για υπολογισμούς ποσού UI
  • UIAmount: πολλαπλασιαστής * ακατέργαστο ποσό (γνωστό και ως: κλιμακούμενο ποσό)
  • Ακατέργαστο ποσό: ποσό (γνωστό και ως: μη κλιμακούμενο ποσό)

Τρέχον υπόλοιπο

Τρέχον ποσό για εμφάνιση

  • Κάθε φορά που εμφανίζετε ποσά για tokens που χρησιμοποιούν την επέκταση κλιμακούμενου ποσού UI στους τελικούς χρήστες, θα πρέπει να χρησιμοποιείτε είτε:
    • UIAmount/UIAmountString (προτιμώμενο)
    • Έναν χειροκίνητο υπολογισμό του ακατέργαστου ποσού * πολλαπλασιαστή
    • Συνιστούμε την περικοπή αυτής της τιμής με βάση τον αριθμό των δεκαδικών ψηφίων που έχει το token.
      • Π.χ.: αν το yUSD έχει 6 δεκαδικά ψηφία και ένας χρήστης έχει UIAmount 1.123456789, θα πρέπει να εμφανίζεται "1.123456"

Πού να βρείτε αυτά τα δεδομένα:

  • Για το ζωντανό υπόλοιπο ενός χρήστη μπορείτε να λάβετε ενημερωμένες πληροφορίες για τα παραπάνω ποσά καλώντας είτε το getTokenAccountBalance είτε το getAccountInfo
  • Αν χρειάζεστε να γνωρίζετε το UI Amount για ένα αυθαίρετο ποσό, μπορείτε να πάρετε αυτόν τον υπολογισμό καλώντας τη συνάρτηση amountToUiAmountForMintWithoutSimulation (web3.js v1) ή προσομοιώνοντας μια συναλλαγή χρησιμοποιώντας το amountToUiAmount.
    • Σημείωση: το amountToUiAmount απαιτεί προσομοίωση συναλλαγής που σημαίνει ότι χρειάζεται επίσης έναν έγκυρο πληρωτή τελών με υπόλοιπο. Για αυτόν τον λόγο, αυτός δεν πρέπει να είναι ο προεπιλεγμένος τρόπος για να λάβετε ένα υπόλοιπο.

Ενημέρωση του τρέχοντος ποσού

Επειδή οι εκδότες μπορούν να ενημερώσουν τον πολλαπλασιαστή οποιαδήποτε στιγμή, μπορείτε να εξετάσετε την περιοδική ανίχνευση για να διατηρείτε ενημερωμένο το υπόλοιπο του λογαριασμού. Οι εκδότες είναι απίθανο να ενημερώσουν αυτόν τον πολλαπλασιαστή περισσότερο από μία φορά την ημέρα. Αν ένας πολλαπλασιαστής έχει οριστεί για μια μελλοντική ημερομηνία, μπορείτε να κάνετε αυτόματη ανίχνευση κατά τη στιγμή αυτής της ενημέρωσης

Ποσά token σε συναλλαγές (μεταφορές / ανταλλαγές κλπ)

  • Οι χρήστες θα πρέπει να εισάγουν ποσά που θα ερμηνεύονται ως το κλιμακωμένο "UIAmount". Η εφαρμογή που πρέπει να επεξεργαστεί αυτό θα πρέπει να μετατρέψει στο ακατέργαστο ποσό token για τη συναλλαγή.
    • Αν υπάρχουν προβλήματα στρογγυλοποίησης, στρογγυλοποιήστε προς τα κάτω και προτιμήστε να αφήσετε μια μικρή ποσότητα υπολείμματος παρά να διακινδυνεύσετε την αποτυχία της συναλλαγής
    • Για να κάνετε αυτή τη μετατροπή μπορείτε να χρησιμοποιήσετε τη συνάρτηση uiAmountToAmountForMintWithoutSimulation (web3.js v1) ή να προσομοιώσετε μια συναλλαγή χρησιμοποιώντας το amountToUiAmount.
  • Οι εφαρμογές θα πρέπει να χρησιμοποιούν το συνολικό ακατέργαστο ποσό όταν ένας χρήστης ζητά να κάνει μια ενέργεια με "max" ή "all" του υπολοίπου του. Αυτό διασφαλίζει ότι δεν απομένει υπόλειμμα.
    • Προαιρετικά: Μπορείτε να εξετάσετε το αυτόματο κλείσιμο ενός λογαριασμού όταν χρησιμοποιείται το "max" για να επιστραφεί στον χρήστη η κατάθεση αποθήκευσής του

Τιμή token

  • Η τιμή του token θα πρέπει πάντα να εμφανίζεται ως κλιμακωμένη τιμή όπου είναι δυνατόν.
  • Εάν είστε πάροχος υπηρεσίας τροφοδοσίας τιμών, όπως ένα oracle, θα πρέπει να εκθέτετε τόσο την κλιμακωμένη όσο και τη μη κλιμακωμένη τιμή.
    • Όπου είναι δυνατόν, παρέχετε ένα SDK/API που αφαιρεί τις πολυπλοκότητες της επέκτασης κλιμακωμένου ποσού UI.

Τρέχων πολλαπλασιαστής

  • Ο τρέχων πολλαπλασιαστής μπορεί να διαβαστεί από το mint του token οποιαδήποτε στιγμή καλώντας getAccountInfo. Επιπλέον, εάν έχει οριστεί ένας μελλοντικός πολλαπλασιαστής, αυτή η πληροφορία είναι επίσης διαθέσιμη από το mint του token. Συνιστούμε να μην εμφανίζετε αυτόν τον πολλαπλασιαστή καθώς μπορεί να προκαλέσει σύγχυση στο UX.

Ιστορικά δεδομένα

Ιστορικά δεδομένα για τροφοδοσία τιμών

  • Οι υπηρεσίες που παρέχουν ιστορικά δεδομένα θα πρέπει να αποθηκεύουν και να εμφανίζουν τόσο τις κλιμακωμένες όσο και τις μη κλιμακωμένες τιμές για την επέκταση κλιμακωμένου ποσού UI.
  • Αναμένουμε ότι τα κλιμακωμένα ποσά θα χρησιμοποιούνται συχνότερα καθώς αυτό ευθυγραμμίζεται με τον τρόπο που ο παραδοσιακός χρηματοοικονομικός κόσμος αντιμετωπίζει τα γραφήματα που σχετίζονται με tokens με διασπάσεις μετοχών.

Ιστορικά δεδομένα για ποσά

  • Εάν θέλετε να εμφανίσετε το υπόλοιπο που μεταφέρθηκε στο παρελθόν, χρειάζεστε πρόσβαση στον πολλαπλασιαστή σε εκείνο το συγκεκριμένο slot. Μπορείτε επίσης να αποθηκεύσετε το UiAmount για μεταφορές καθώς επεξεργάζεστε συναλλαγές για να αποφύγετε αυτόν τον υπολογισμό στο μέλλον.

Συμβατότητα με προηγούμενες εκδόσεις

  • Από προεπιλογή, τα πορτοφόλια και οι εφαρμογές που δεν κατανοούν την επέκταση κλιμακωμένου ποσού UI θα εμφανίζουν τη σωστή συνολική τιμή μιας δραστηριότητας πολλαπλασιάζοντας τη μη κλιμακωμένη τιμή * το ακατέργαστο ποσό.
  • Ωστόσο, θα εμφανίζουν τη μη κλιμακωμένη τιμή προκαλώντας κάποια σύγχυση στους χρήστες.
  • Ελπίζουμε ότι αυτό ενθαρρύνει τις ομάδες να ενημερώσουν τις dapps τους ώστε να είναι συμβατές με tokens που χρησιμοποιούν την επέκταση κλιμακωμένου ποσού UI και είμαστε πρόθυμοι να παρέχουμε υποστήριξη κατά τη διάρκεια αυτής της διαδικασίας.

Προτεινόμενες προτεραιότητες ενσωμάτωσης ανά πλατφόρμα

Γενικές απαιτήσεις

ΑπαίτησηΠεριγραφήΠροτεραιότητα
Υποστήριξη ενεργειών χρήστη με UiAmountΌλες οι ενέργειες χρήστη θα πρέπει να εισάγονται σε UiAmount όταν το UiAmount είναι ενεργοποιημένο σε όλη την εφαρμογή. Αν το UiAmount δεν είναι ορατό στην εφαρμογή, θα πρέπει να χρησιμοποιούνται ακατέργαστα ποσά μέχρι να ενημερωθεί η εφαρμογή.P0

Πορτοφόλια

ΑπαίτησηΠεριγραφήΠροτεραιότητα
Εμφάνιση κλιμακωμένου υπολοίπουΕμφάνιση του κλιμακωμένου ποσού (uiAmount) ως κύριο υπόλοιπο.P0
Υποστήριξη για μεταφορές tokenΟι τελικοί χρήστες θα πρέπει να εισάγουν ποσά μεταφοράς με τα κλιμακωμένα υπόλοιπά τους (ακατέργαστο ποσό * υπόλοιπο).P0
Εμφάνιση τρέχουσας τιμήςΕμφάνιση της κλιμακωμένης τρέχουσας τιμής για τους χρήστεςP0
Μεταδεδομένα ιστορικού συναλλαγώνΕμφάνιση του κλιμακωμένου ποσού (UIAmount) για κάθε μεταφορά όπου είναι δυνατόν.P1
Εμφάνιση ενημερώσεων πολλαπλασιαστή στο ιστορικό συναλλαγώνΌταν συμβαίνουν ενημερώσεις πολλαπλασιαστή, εμφάνιση αυτού ως συμβάν στο ιστορικό συναλλαγών του χρήστη συμπεριλαμβανομένου του ποσού που κερδήθηκεP2
Εμφάνιση γραφήματος ιστορικού τιμώνΑντανάκλαση των κλιμακωμένων τιμών στο γράφημα τιμώνP1
Εισαγωγή/Επεξηγηματικά εργαλείαΠροσφορά επεξηγηματικών εργαλείων ή εισαγωγής για την εκπαίδευση των χρηστών σχετικά με τα tokens που χρησιμοποιούν την επέκταση κλιμακωμένου ποσού uiP2

Εξερευνητές

ΑπαίτησηΠεριγραφήΠροτεραιότητα
Βελτιώσεις σελίδας λεπτομερειών tokenΕμφάνιση μεταδεδομένων όπως η συνολική κλιμακωμένη κεφαλαιοποίηση αγοράς και ο τρέχων πολλαπλασιαστήςP0
Εμφάνιση κλιμακωμένου υπολοίπου για υπόλοιπαΕμφάνιση κλιμακωμένων υπολοίπων (UiAmount) για τρέχοντα υπόλοιπα.P0
Εμφάνιση κλιμακωμένου υπολοίπου για συναλλαγέςΕμφάνιση κλιμακωμένων υπολοίπων (UiAmount) για ποσά μεταφοράς για ιστορικές συναλλαγές.P0
Εμφάνιση κλιμακωμένης τιμής για συναλλαγέςΕμφάνιση κλιμακωμένων τιμών για προηγούμενες συναλλαγέςP1
Σωστή ανάλυση και εμφάνιση συναλλαγών ενημέρωσης πολλαπλασιαστήΣωστή εμφάνιση λεπτομερειών σχετικά με την ενημέρωση του πολλαπλασιαστήP2

Συναθροιστές Δεδομένων Αγοράς (Π.χ.: CoinGecko)

ΑπαίτησηΠεριγραφήΠροτεραιότητα
Ενημερώσεις API για Κλιμακωμένα ΔεδομέναΕπέκταση λειτουργικότητας API για να συμπεριλάβει αλλαγές πολλαπλασιαστή με την πάροδο του χρόνου καθώς και την κλιμακωμένη τροφοδοσία τιμών.P0
Συνολική Προσφορά με Κλιμακωμένη ΠροσαρμογήΚατά την εμφάνιση της συνολικής προσφοράς και της συνολικής κεφαλαιοποίησης αγοράς, λαμβάνονται υπόψη τα κλιμακωμένα υπόλοιπαP0
Παρακολούθηση Ιστορικών ΤιμώνΠαροχή ιστορικού διαγράμματος τιμών χρησιμοποιώντας την κλιμακωμένη τιμή με την πάροδο του χρόνου.P1
Παρακολούθηση Ιστορικού ΠολλαπλασιαστήΠαροχή ιστορικών δεικτών ενημερώσεων πολλαπλασιαστή για τα τοκοφόρα tokens.P2
Εκπαιδευτικό Περιεχόμενο ή ΕπεξηγήσειςΣυμπερίληψη σύντομων περιγραφών ή επεξηγηματικών συμβουλών που εξηγούν πώς λειτουργούν τα κλιμακωμένα tokens.P2

Πάροχοι Τροφοδοσίας Τιμών

ΑπαίτησηΠεριγραφήΠροτεραιότητα
Κλιμακωμένες & μη-κλιμακωμένες Τροφοδοσίες ΤιμώνΠαροχή τροφοδοσιών τιμών τόσο για κλιμακωμένες όσο και για μη-κλιμακωμένες τιμές.P0
Δεδομένα Ιστορικού ΠολλαπλασιαστήΠροσφορά APIs με ιστορικές αλλαγές πολλαπλασιαστή.P0
Δεδομένα Ιστορικών ΤιμώνΠροσφορά APIs με ιστορικές τιμές βάσει τόσο κλιμακωμένων όσο και μη-κλιμακωμένων ποσών.P0

DEXes

ΑπαίτησηΠεριγραφήΠροτεραιότητα
Εμφάνιση Επαναπροσδιορισμένων Υπολοίπων TokenΕμφάνιση κλιμακωμένων υπολοίπων για συναλλαγές ή παροχή ρευστότητας στο UI. (το backend μπορεί ακόμα να χρησιμοποιεί ακατέργαστα ποσά)P0
Υποστήριξη για Ενέργειες TokenΟι τελικοί χρήστες θα πρέπει να εισάγουν ποσά ενεργειών με τα υπόλοιπα UiAmount τους (πολλαπλασιαστής * ακατέργαστο ποσό).P0
Προσαρμογή Τροφοδοσίας ΤιμώνΟπουδήποτε χρησιμοποιείται μια τροφοδοσία τιμών για την εμφάνιση της τρέχουσας τιμής, παρέχετε την κλιμακωμένη τιμή στους τελικούς χρήστες.P1
Εμφάνιση Γραφήματος Ιστορικού ΤιμώνΑντανάκλαση των κλιμακωμένων τιμών στο γράφημα τιμώνP1

Is this page helpful?