Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.Xem bản tiếng Anh →
LaunchLab hỗ trợ ba hình dạng đường cong được chọn tại
Initialize: constant-product (hình thức phổ biến nhất, dạng virtual-reserve của đường cong x · y = k tiêu chuẩn), linear-price, và fixed-price. Công thức ngưỡng tốt nghiệp được chia sẻ trên cả ba loại. Trang này hướng dẫn chi tiết toán học constant-product; các hình thức linear và fixed được tóm tắt ở cuối.Các tham số được lưu trữ trên LaunchState
Tên trường trong struct Rust khớp với các trường
PoolState được mô tả trong accounts; các đơn vị trên là khái niệm.
Đường cong constant-product với virtual reserves (curve_type = 0)
Đường cong mặc định và được sử dụng nhiều nhất. Tất cả các lần phát hành kiểu Pump đều sử dụng hình thức này. Đường cong giả định có một virtual quote reserve V_q và một virtual base reserve V_b từ đầu (được lưu trữ dưới dạng virtual_quote và virtual_base trên PoolState), vì vậy pool hiệu quả trông giống như một CPMM với những reserve đó. Các lần mua tuân theo toán học x · y = k:
base_out:
s:
x · y = k tương tự mà LaunchLab áp dụng trước tốt nghiệp sau đó là đường cong CPMM sau tốt nghiệp, vì vậy việc chuyển giao là liền mạch về mặt cơ học: giá biên tại base_sold = base_supply_graduation bằng giá mà pool sau tốt nghiệp mở ra với (quote_vault, base_vault_remaining) làm reserve của nó.
Đường cong fixed-price (curve_type = 1)
Một đường cong giá phẳng. Mỗi lần mua/bán xảy ra ở một giá không đổi, có thể cấu hình tại Initialize:
base_supply_graduation đã được bán (mối quan hệ chi phí tuyến tính làm cho quote_reserve_target dễ dàng dẫn xuất).
Đường cong linear-price (curve_type = 2)
Giá tăng tuyến tính với base_sold:
base_sold — những người mua sớm trả gần như không, những người mua muộn trả nhiều hơn đáng kể, với giá biên luôn tăng với một độ dốc cố định. Việc triển khai on-chain nằm trong curve/linear_price.rs.
So sánh hình dạng đường cong
Ngưỡng tốt nghiệp
quote_reserve_target được tính toán tại Initialize là quote cần thiết để đẩy base_sold từ 0 đến base_supply_graduation:
quote_vault.balance ≥ quote_reserve_target. Vì các lần mua đến ở các kích thước rời rạc, số dư thực tế tại tốt nghiệp có thể vượt quá mục tiêu một chút — phần dư trở thành thankhoản quote bổ sung trong pool CPMM kết quả.
Ví dụ chi tiết — một lần phát hành bậc hai
Tham số:base_supply_max = 1_000_000_000(1 tỷ token base, 6 decimals)base_supply_graduation = 800_000_000(80% được bán kích hoạt tốt nghiệp)k = 40(thang giá)- Phí: 1% mua, 1% bán, chia
lp:creator:protocol = 60:20:20.
s = 0): 0 (bậc hai thuần túy bắt đầu từ không).
Giá tại 50% được bán (s = 500_000_000):
s = 800_000_000):
10 USDC:
- Trạng thái virtual:
s = 0,quote_vault = 0. - Trừ phí:
quote_after_fee = 10 × 0.99 = 9.9. - Giải
(40 / (3e18)) × s³ = 9.9e6— 9.9 USDC theo đơn vị gốc 6 chữ số thập phân, cùng đơn vị với6.827e9ở trên ⇒s ≈ 9.06e7token base được mua. - Phí 1% (
0.1 USDC) chia: lp0.06, creator0.02, protocol0.02. Phần lp ở lại trongquote_vault; hai phần kia định tuyến đến các bộ đếm tích lũy tương ứng của chúng.
s₀ = 750e6 với quote_in_after_fee = 9.9e6 cho ∆s ≈ 4.4e5 — giảm ~200× lượng base trên mỗi USDC so với lần mua đầu tiên.
Cơ chế phí trong giai đoạn đường cong
Trên mỗiBuy:
lp_shaređược để lại trongquote_vault. Đây là điều làm cho đường cong hiệu quả chặt hơn (nhiều quote reserve hơn so với cùng một cung base).protocol_sharetăngLaunchState.state_data.protocol_fees_quote.creator_sharetăngLaunchState.state_data.creator_fees_quote.
Sell cùng một chia tách áp dụng nhưng phí được lấy từ quote_out gửi đi.
Cả hai bộ đếm được quét qua CollectFees (admin hoặc creator, mỗi cái đến bộ đếm của chính nó).
Độ chính xác
- Số lượng phía base:
u64. - Số lượng phía quote:
u64. - Các khối / tích trung gian:
u128. - “Mua quote chính xác” và “bán quote chính xác” nghịch đảo ở dạng đóng — đường cong constant-product bằng đại số, đường cong fixed-price bằng một phép chia, đường cong linear-price bằng một căn bậc hai. Không có bộ giải Newton nào trong chương trình, không có giới hạn số lần lặp, và không có lỗi
NotConverged.
Chuyển giao đến CPMM
KhiGraduate kích hoạt:
cpmm_initial_price chính xác bằng price(base_sold), giá đường cong biên tại thời điểm chuyển giao, nên một người quan sát chuyển từ UI đường cong sang UI CPMM không thấy bước nhảy nào. Đối với đường cong giá bậc hai thì không: giá trung bình tích phân nằm trên giá biên (theo hệ số 4/3 trong ví dụ ở trên), nên một bước nhảy tại thời điểm chuyển giao là điều được dự kiến.
Tiếp theo đi đâu
products/launchlab/accounts— các trườngLaunchStatelưu trữ các tham số này.products/launchlab/instructions— danh sách tài khoảnBuy,Sell,Graduate.algorithms/constant-product— toán học CPMM mà pool sau tốt nghiệp sử dụng.
- Raydium SDK v2
LaunchLabmodule - Raydium LaunchLab program source

