Hướng dẫn tích hợp số lượng UI được chia tỷ lệ
Hỗ trợ tiện ích mở rộng Số lượng UI được chia tỷ lệ trên Solana
Bối cảnh
Tiện ích mở rộng Scaled UI Amount cho phép người phát hành token chỉ định một bội số để sử dụng khi tính toán số lượng UI của số dư token của người dùng. Điều này cho phép người phát hành tạo ra các token tái cơ sở và kích hoạt những thứ như chia tách cổ phiếu. Tiện ích mở rộng này, giống như tiện ích mở rộng token sinh lãi, cung cấp một số lượng UI thuần túy mang tính thẩm mỹ, có nghĩa là các nhóm cần thực hiện một số công việc bổ sung để tạo trải nghiệm tốt. Các tính toán và chuyển khoản cơ bản đều diễn ra bằng cách sử dụng số lượng thô trong chương trình.
Tài nguyên:
- Tài liệu dành cho nhà phát triển
- Mã Rust của tiện ích mở rộng
- Mã Rust chuyển đổi số lượng sang số lượng UI
Tóm tắt
- Người dùng cuối nên tương tác với UIAmount (số lượng thô * bội số) cho giá token, số dư token và số lượng token bất cứ khi nào có thể
- Các ứng dụng phi tập trung (dApps) và nhà cung cấp dịch vụ nên sử dụng số lượng thô và giá không được điều chỉnh cho tất cả các tính toán và chuyển đổi cho người dùng ở giai đoạn cuối
- Nguồn cấp dữ liệu giá lịch sử cần được cung cấp cho cả số lượng đã điều chỉnh và chưa điều chỉnh để tích hợp dễ dàng hơn
- Các giá trị bội số lịch sử cần phải có thể truy cập được để có dữ liệu lịch sử chính xác
Định nghĩa thuật ngữ
- Bội số: bội số có thể cập nhật tĩnh được sử dụng cho các tính toán UI Amount
- UIAmount: bội số * số lượng thô (còn gọi là: số lượng đã điều chỉnh)
- Số lượng thô: số lượng (còn gọi là: số lượng chưa điều chỉnh)
Số dư hiện tại
Số lượng hiện tại để hiển thị
- Bất cứ khi nào bạn hiển thị số lượng cho các token sử dụng tiện ích mở rộng
scaled UI amount cho người dùng cuối, bạn nên sử dụng một trong các cách sau:
- UIAmount/UIAmountString (ưu tiên)
- Tính toán thủ công số lượng thô * bội số
- Chúng tôi khuyên bạn nên cắt bớt giá trị này dựa trên số thập phân mà token
có.
- Ví dụ: nếu yUSD có 6 chữ số thập phân và người dùng có UIAmount là 1.123456789, bạn nên hiển thị "1.123456"
Nơi lấy dữ liệu này:
- Để biết số dư trực tiếp của người dùng, bạn có thể lấy thông tin cập nhật về các số tiền trên bằng cách gọi getTokenAccountBalance hoặc getAccountInfo
- Nếu bạn cần biết UI Amount cho một số tiền bất kỳ, bạn có thể thực hiện phép
tính này bằng cách gọi hàm
amountToUiAmountForMintWithoutSimulation
(web3.js v1) hoặc mô phỏng giao dịch sử dụng amountToUiAmount.- Lưu ý: amountToUiAmount yêu cầu mô phỏng giao dịch, điều này có nghĩa là nó cũng cần một người trả phí hợp lệ có số dư. Vì lý do này, đây không nên là cách mặc định để lấy số dư.
Cập nhật số tiền hiện tại
Vì Nhà phát hành có thể cập nhật hệ số nhân bất kỳ lúc nào, bạn có thể cân nhắc việc thăm dò định kỳ để cập nhật số dư tài khoản. Nhà phát hành không thường xuyên cập nhật hệ số nhân này quá một lần mỗi ngày. Nếu hệ số nhân được đặt cho một ngày trong tương lai, bạn có thể tự động thăm dò vào thời điểm cập nhật này
Số lượng token trong giao dịch (chuyển khoản / hoán đổi v.v.)
- Người dùng nên nhập số tiền được hiểu là "UIAmount" đã được điều chỉnh. Ứng
dụng xử lý việc này cần chuyển đổi thành số lượng token thô cho giao dịch.
- Nếu có vấn đề làm tròn, hãy làm tròn xuống và ưu tiên để lại một lượng nhỏ thay vì rủi ro giao dịch thất bại
- Để thực hiện chuyển đổi này, bạn có thể sử dụng hàm
uiAmountToAmountForMintWithoutSimulation
(web3.js v1) hoặc mô phỏng giao dịch sử dụng amountToUiAmount.
- Ứng dụng nên sử dụng tổng số lượng thô khi người dùng yêu cầu thực hiện hành
động với "tối đa" hoặc "tất cả" số dư của họ. Điều này đảm bảo không còn lượng
nhỏ nào sót lại.
- Tùy chọn: Bạn có thể cân nhắc tự động đóng tài khoản khi "tối đa" được sử dụng để hoàn trả cho người dùng khoản tiền gửi lưu trữ của họ
Giá token
- Giá token nên luôn được hiển thị dưới dạng giá đã được điều chỉnh tỷ lệ khi có thể.
- Nếu bạn là nhà cung cấp dịch vụ cung cấp giá, như một oracle, bạn nên hiển thị
cả giá đã điều chỉnh tỷ lệ và giá chưa điều chỉnh tỷ lệ.
- Khi có thể, hãy cung cấp SDK/API để trừu tượng hóa các phức tạp của tiện ích mở rộng số lượng UI đã điều chỉnh tỷ lệ.
Hệ số nhân hiện tại
- Hệ số nhân hiện tại có thể được đọc từ token mint bất cứ lúc nào bằng cách gọi
getAccountInfo
. Ngoài ra, nếu một hệ số nhân trong tương lai được thiết lập, thông tin này cũng có sẵn từ token mint. Chúng tôi khuyên không nên hiển thị hệ số nhân này vì nó có thể gây nhầm lẫn cho trải nghiệm người dùng.
Dữ liệu lịch sử
Dữ liệu lịch sử cho nguồn cấp giá
- Các dịch vụ cung cấp dữ liệu lịch sử nên lưu trữ và hiển thị cả giá đã điều chỉnh tỷ lệ và chưa điều chỉnh tỷ lệ cho tiện ích mở rộng số lượng UI đã điều chỉnh tỷ lệ.
- Chúng tôi kỳ vọng số lượng đã điều chỉnh tỷ lệ sẽ được sử dụng thường xuyên nhất vì điều này phù hợp với cách thế giới tài chính truyền thống xử lý các biểu đồ liên quan đến token với phân chia cổ phiếu.
Dữ liệu lịch sử cho số lượng
- Nếu bạn muốn hiển thị số dư đã chuyển trong quá khứ, bạn cần truy cập vào hệ số nhân tại slot đó. Bạn cũng có thể lưu UiAmount cho các giao dịch chuyển khi xử lý giao dịch để tránh phải thực hiện tính toán này trong tương lai.
Khả năng tương thích ngược
- Mặc định, các ví và ứng dụng không hiểu tiện ích mở rộng số lượng UI đã điều chỉnh tỷ lệ sẽ hiển thị tổng giá chính xác của một hoạt động bằng cách nhân giá chưa điều chỉnh tỷ lệ * số lượng thô.
- Tuy nhiên, chúng sẽ hiển thị giá chưa điều chỉnh tỷ lệ gây ra một số nhầm lẫn cho người dùng.
- Chúng tôi hy vọng điều này khuyến khích các nhóm cập nhật dapps của họ để tương thích với các token sử dụng tiện ích mở rộng số lượng UI đã điều chỉnh tỷ lệ và chúng tôi sẵn sàng cung cấp hỗ trợ trong quá trình này.
Ưu tiên tích hợp được khuyến nghị cho từng nền tảng
Yêu cầu chung
Yêu cầu | Mô tả | Mức độ ưu tiên |
---|---|---|
Hỗ trợ hành động người dùng sử dụng UiAmount | Tất cả hành động của người dùng nên được nhập bằng UiAmount khi UiAmount được kích hoạt trong toàn bộ ứng dụng. Nếu UiAmount không hiển thị trong ứng dụng, họ nên sử dụng số lượng thô cho đến khi ứng dụng được cập nhật. | P0 |
Ví
Yêu cầu | Mô tả | Mức độ ưu tiên |
---|---|---|
Hiển thị số dư đã điều chỉnh tỷ lệ | Hiển thị số lượng đã điều chỉnh tỷ lệ (uiAmount) như số dư chính. | P0 |
Hỗ trợ chuyển token | Người dùng cuối nên nhập số lượng chuyển với số dư đã điều chỉnh tỷ lệ (số lượng thô * số dư). | P0 |
Hiển thị giá giao ngay | Hiển thị giá giao ngay đã điều chỉnh tỷ lệ cho người dùng | P0 |
Metadata lịch sử giao dịch | Hiển thị số lượng đã điều chỉnh tỷ lệ (UIAmount) cho mỗi lần chuyển khi có thể. | P1 |
Hiển thị cập nhật hệ số nhân trong lịch sử giao dịch | Khi hệ số nhân được cập nhật, hiển thị như một sự kiện trong lịch sử giao dịch của người dùng bao gồm số lượng đã tăng | P2 |
Hiển thị biểu đồ lịch sử giá | Phản ánh giá đã điều chỉnh tỷ lệ trong biểu đồ giá | P1 |
Hướng dẫn/Chú giải | Cung cấp chú giải hoặc hướng dẫn để giáo dục người dùng về các token sử dụng tiện ích mở rộng số lượng đã điều chỉnh tỷ lệ | P2 |
Trình khám phá
Yêu cầu | Mô tả | Mức độ ưu tiên |
---|---|---|
Cải tiến trang chi tiết token | Hiển thị metadata như tổng vốn hóa thị trường đã điều chỉnh tỷ lệ và hệ số nhân hiện tại | P0 |
Hiển thị số dư đã điều chỉnh tỷ lệ cho số dư | Hiển thị số dư đã điều chỉnh tỷ lệ (UiAmount) cho số dư hiện tại. | P0 |
Hiển thị số dư đã điều chỉnh tỷ lệ cho giao dịch | Hiển thị số dư đã điều chỉnh tỷ lệ (UiAmount) cho số lượng chuyển trong các giao dịch lịch sử. | P0 |
Hiển thị giá đã điều chỉnh tỷ lệ cho giao dịch | Hiển thị giá đã điều chỉnh tỷ lệ cho các giao dịch trước đó | P1 |
Phân tích và hiển thị đúng các giao dịch cập nhật hệ số nhân | Hiển thị đúng chi tiết về việc cập nhật hệ số nhân | P2 |
Nền tảng tổng hợp dữ liệu thị trường (Ví dụ: CoinGecko)
Yêu cầu | Mô tả | Ưu tiên |
---|---|---|
Cập nhật API cho dữ liệu đã điều chỉnh | Mở rộng chức năng API để bao gồm các thay đổi hệ số nhân theo thời gian cũng như nguồn giá đã điều chỉnh. | P0 |
Tổng cung với điều chỉnh theo tỷ lệ | Khi hiển thị tổng cung và vốn hóa thị trường, tính đến số dư đã điều chỉnh | P0 |
Theo dõi giá lịch sử | Cung cấp biểu đồ lịch sử giá sử dụng giá đã điều chỉnh theo thời gian. | P1 |
Theo dõi hệ số nhân lịch sử | Cung cấp các điểm đánh dấu lịch sử về cập nhật hệ số nhân cho các token sinh lãi. | P2 |
Nội dung giáo dục hoặc giải thích | Bao gồm mô tả ngắn gọn hoặc chú giải giải thích cách thức hoạt động của token đã điều chỉnh. | P2 |
Nhà cung cấp nguồn cấp giá
Yêu cầu | Mô tả | Ưu tiên |
---|---|---|
Nguồn cấp giá đã điều chỉnh và chưa điều chỉnh | Cung cấp nguồn cấp giá cho cả giá đã điều chỉnh và chưa điều chỉnh. | P0 |
Dữ liệu hệ số nhân lịch sử | Cung cấp API với các thay đổi hệ số nhân lịch sử. | P0 |
Dữ liệu giá lịch sử | Cung cấp API với giá lịch sử dựa trên cả số lượng đã điều chỉnh và chưa điều chỉnh. | P0 |
DEX (Sàn giao dịch phi tập trung)
Yêu cầu | Mô tả | Ưu tiên |
---|---|---|
Hiển thị số dư token đã rebase | Hiển thị số dư đã điều chỉnh cho giao dịch hoặc cung cấp thanh khoản trên giao diện người dùng. (backend vẫn có thể sử dụng số lượng thô) | P0 |
Hỗ trợ cho các hành động token | Người dùng cuối nên nhập số lượng hành động với số dư UiAmount của họ (hệ số nhân * số lượng thô). | P0 |
Điều chỉnh nguồn cấp giá | Bất cứ nơi nào sử dụng nguồn cấp giá để hiển thị giá hiện tại, cung cấp giá đã điều chỉnh cho người dùng cuối. | P1 |
Hiển thị biểu đồ lịch sử giá | Phản ánh giá đã điều chỉnh trong biểu đồ giá | P1 |
Is this page helpful?