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 →
Banner phiên bản. Tất cả các demo hướng tới
@raydium-io/raydium-sdk-v2@0.2.42-alpha trên Solana mainnet-beta, được xác minh vào tháng 4 năm 2026. SDK điều phối v3 / v5 / v6 nội bộ dựa trên chủ sở hữu chương trình của farm; các ví dụ dưới đây giả định farm v6. Xem reference/program-addresses để tìm ba ID chương trình.Cài đặt
Các demo ở đây phản ánh các tập tin trongraydium-sdk-V2-demo/src/farm. Bootstrap theo config.ts.template của kho demo:
Tìm nạp farm theo ID
getFarmById tải FarmState ngoài chuỗi, giải mã theo phiên bản chương trình và chuẩn hóa tỷ lệ phát hành điểm cố định thành Decimal đơn giản trên mỗi giây.
Staking token LP
Nguồn:src/farm/stake.ts
Chỉ yêu cầu (thu hoạch)
Nguồn:src/farm/harvest.ts
harvestAllRewards chấp nhận một danh sách — đối với UI hiển thị dạng xem danh mục đầu tư, hãy ghép lại cuộc gọi. Mỗi farm được yêu cầu trong một hướng dẫn riêng biệt trong một giao dịch (tùy thuộc vào giới hạn kích thước 1232 byte; đối với >~6 farm, hãy chia thành nhiều giao dịch).
Đối với một farm duy nhất trên v6, bạn cũng có thể sử dụng đường dẫn Harvest rõ ràng:
amount: 0 là bắt buộc; SDK điều phối nó một cách chính xác.
Rút cọc
Nguồn:src/farm/unstake.ts
Tạo farm v6
Nguồn:src/farm/createAmmFarm.ts và editAmmFarm.ts
perSecondlà tỷ lệ phát hành nguyên số mỗi giây. SDK đóng gói nó thành Q64.64 trước khi gửi. Đối với tỷ lệ phân số, hãy chia tỷ lệ và điều chỉnh khoảng thời gian.- Ngân sách đầy đủ (
perSecond × duration) phải có trong ATA phần thưởng của bạn —createdi chuyển nó vào kho phần thưởng một cách nguyên tử. - Bạn có thể tạo hạt giống tối đa 5 phần thưởng trong một cuộc gọi
create. Danh sách tài khoản tăng thêm(reward_mint, reward_vault, sender_ata, token_program)cho mỗi luồng bổ sung; hãy nhận thức được giới hạn kích thước giao dịch 1232 byte. Đối với 4 hoặc nhiều phần thưởng, hãy tạo với 1–2 và sử dụngAddRewardtrong các giao dịch tiếp theo.
Nạp thêm luồng phần thưởng hiện có
setRewards mở rộng end_time và chuyển ngân sách delta. Hướng dẫn không thể rút ngắn luồng, không thể hạ thấp per_second trên luồng hoạt động và không thể thay đổi mint phần thưởng. Để hoán đổi mint, hãy đợi end_time và sử dụng AddReward trên một slot được giải phóng (nếu có), hoặc tạo farm mới.
Khởi động lại luồng hoàn thành
reward_state == 2 của slot mục tiêu (kết thúc). Người gọi phải là reward_sender (v6) hoặc chủ sở hữu farm (v5) của slot.
CPI Rust
Không giống như AMM v4, chương trình farm v6 được cung cấp với crate Anchor (raydium_farm_v6) được xuất bản cùng với nguồn SDK và frontend. Một bản phác họa Deposit tối thiểu:
remaining_accounts phải khớp các slot phần thưởng hoạt động của farm 1-cho-1 (cặp reward_vault_i, user_reward_ata_i theo thứ tự chỉ số). Bỏ qua hoặc sắp xếp sai các thành phần này sẽ tạo ra kỹ toán sai lệch im lặng — chương trình sẽ chuyển số tiền sai.
Những cạm bẫy
- Quên yêu cầu trước khi rút cọc. Vô hại —
Withdrawgiải quyết phần thưởng chờ xử lý trước. Nhưng nếu UI của bạn hiển thị “yêu cầu” riêng biệt với “rút cọc”, người dùng có thể nghĩ rằng vẫn còn gì đó để yêu cầu sauWithdraw. Không có; mọi thứ tích lũy cho đến thời điểm đó đã được thanh toán. total_staked = 0trong quá trình phát hành. Phát hành tích lũy khi không có gì được staking bị mất (công thức cập nhậtreward_per_sharechia cho 0 và chương trình bỏ qua cập nhật). Đối với các chương trình cóopen_timetheo lịch trình, chạy “seed stake” tại open_time để tránh điều này.- Phí chuyển Token-2022. Trên farm v6 với mint phần thưởng Token-2022, phí chuyển được áp dụng khi phát hành (vault → người dùng). Tính toán điều này vào báo giá APR.
- Nhỏ
per_secondtrên v5.u64rate của v5 có nghĩa là bất kỳper_second < 1đơn vị token trên mỗi giây (trên mint có ≥9 decimals đây thường là tỷ lệ mong muốn) không thể được biểu thị — tỷ lệ luồng làm tròn thành 0 và farm không phát hành gì. Sử dụng v6.
Bước tiếp theo
products/farm-staking/instructions— tham chiếu hướng dẫn cơ bản.products/clmm/fees— so sánh với luồng phần thưởng gốc của CLMM.user-flows/migrate-amm-v4-to-cpmm— thường được ghép với việc tạo farm CPMM mới.
- Raydium SDK v2
- Farm v6 IDL được đóng gói trong
raydium-io/raydium-sdk-V2dướisrc/raydium/farm/.

