Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
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 →
Giao dịch Solana là danh sách các instruction được thực thi nguyên tử. Hiểu rõ cấu trúc giao dịch — instruction, account, signer, compute budget — là điều cần thiết để xây dựng, gỡ lỗi hoặc tối ưu bất kỳ thứ gì với Raydium. Trang này bao gồm cấu trúc đó, các giới hạn ràng buộc nó, và cách hai loại phí (phí mạng Solana, phí giao thức Raydium) được tích lũy trong một swap thực tế.
Cấu trúc giao dịch
Giao dịch Solana có ba thành phần cốt lõi:- Message: danh sách có thứ tự các instruction, các account mà chúng tham chiếu, và blockhash gần đây.
- Signatures: một cái cho mỗi signer, xác nhận rằng giao dịch được phép.
- Recent blockhash: chứng minh giao dịch là gần đây; các giao dịch có blockhash cũ (>150 slot) bị từ chối.
Instructions
Một instruction chỉ định:program_id— chương trình được gọi.accounts— các account (và cờ writable/signer của chúng) mà chương trình có thể sửa đổi.data— các byte không minh bạch mà chương trình diễn giải.
ComputeBudget::SetComputeUnitLimit— nâng giới hạn CU mặc định.ComputeBudget::SetComputeUnitPrice— đặt priority fee.- Optional
CreateAssociatedTokenAccount— tạo output ATA nếu người dùng không có. Raydium::SwapBaseInput— thực thi swap.- Optional
CloseAccount— đóng wrapped-SOL ATA.
raydium.trade.swap().
Accounts trong giao dịch
Mỗi account được sửa đổi bởi bất kỳ instruction nào trong giao dịch phải được liệt kê trong các account key của giao dịch. Mỗi account được đánh cờ:- Signer / non-signer: chủ sở hữu của account phải ký giao dịch không?
- Writable / read-only: giao dịch có thể sửa đổi account không?
solana-fundamentals/account-model). CLMM swap với nhiều lần vượt qua tick array có thể có 20+.
Giới hạn kích thước giao dịch
Solana giới hạn giao dịch ở mức 1232 byte bao gồm signature, message và header. Đây là trở ngại phổ biến nhất cho các giao dịch phức tạp — CLMM của Raydium với định tuyến multi-hop thường xuyên ấn vào giới hạn này. Breakdown của swap Raydium típ ~1000-byte:| Thành phần | Kích thước |
|---|---|
| Signature | 64 B |
| Signature count | 1 B |
| Message header | 3 B |
| Blockhash | 32 B |
| Account keys (13 × 32 B) | 416 B |
| Instructions (4 × ~100-150 B) | 400–600 B |
| Tổng cộng | ~900–1100 B |
Address Lookup Tables (ALTs)
ALT cho phép giao dịch tham chiếu các account bằng chỉ mục 1-byte trong bảng được công bố thay vì pubkey đầy đủ 32-byte. Điều này nén giao dịch một cách đáng kể:- Giao dịch tham chiếu 20 account trực tiếp: ~640 B pubkey.
- Cùng giao dịch sử dụng ALT: ~20 B chỉ mục + tham chiếu ALT.
Compute budget
Mỗi giao dịch có compute unit (CU) budget. Vượt quá nó sẽ kết thúc thực thi và giao dịch thất bại.- Mặc định: 200,000 CU mỗi giao dịch.
- Tối đa: 1,400,000 CU mỗi giao dịch (nâng lên thông qua
ComputeBudget::SetComputeUnitLimit). - Trần mỗi block: 48M CU mỗi block (cấp độ giao thức).
integration-guides/priority-fee-tuning để xem bảng đầy đủ):
| Instruction | CU |
|---|---|
| CPMM swap | ~140,000 |
| CLMM swap (không vượt tick) | ~170,000 |
| CLMM swap (4 lần vượt tick) | ~320,000 |
| Farm v6 stake | ~130,000 |
| CPMM pool creation | ~250,000 |
ComputeBudget; nếu không, bạn sẽ nhận mặc định 200k, quá thấp cho hầu hết các instruction Raydium.
Priority fees
Ngoài phí giao dịch cơ sở (5000 lamport mỗi signature), các validator ngày càng ưu tiên các giao dịch thanh toán priority fee: một tip per-CU tính bằng microlamport.integration-guides/priority-fee-tuning để biết cách điều chỉnh điều này một cách động.
Giới hạn số lượng instruction và account
Ngoài giới hạn 1232-byte tổng cộng:- Max account mỗi giao dịch: 128.
- Max account mỗi instruction (CPI): 64.
- Max instruction mỗi giao dịch: không có giới hạn cứng, chỉ bị giới hạn bởi giới hạn kích thước.
- Max CPI depth: 4 (một chương trình có thể gọi cái khác, cái đó có thể gọi cái khác, 4 cấp độ).
Danh mục phí trong swap Raydium
Giao dịch swap của người dùng trả phí trong hai danh mục:Phí mạng Solana
Thanh toán cho các validator bằng SOL.- Base signature fee: 5000 lamport mỗi signature. Hầu như luôn là 1 signature = 0.000005 SOL.
- Priority fee: CU-price × CU-limit tính bằng microlamport. Thay đổi tùy theo tắc nghẽn; xem
integration-guides/priority-fee-tuning.
Phí giao thức Raydium
Được trừ từ số tiền swap.- Swap fee: phần trăm của input (CPMM 0.25% típ, CLMM 0.01%–1% mỗi tier). Chia giữa LP và các điểm đến giao thức. Xem
ray/protocol-fees.
Ví dụ: $1000 USDC → SOL qua CPMM 0.25% tier
| Danh mục phí | Số tiền | Đi đến |
|---|---|---|
| Base signature fee | 0.000005 SOL (~$0.0007) | Validator |
| Priority fee (10k µL × 300k CU) | 0.003 SOL (~$0.45) | Validator |
| CPMM swap fee (0.25%) | $2.50 | LP + giao thức |
| Tổng chi phí người dùng | ~$2.95 |
Versioned transactions
Solana có hai định dạng giao dịch:- Legacy: định dạng gốc, không hỗ trợ ALT.
- v0 (Versioned): hỗ trợ ALT, mở rộng cho các phiên bản trong tương lai.
Tươi mới blockhash
Một giao dịch phải bao gồm blockhash từ trong 150 slot gần đây (~60 giây). Vượt quá cửa sổ đó, các validator từ chối nó. Đối với retry loop, tìm nạp blockhash mới trên mỗi lần thử lại:integration-guides/priority-fee-tuning để biết mẫu retry-with-escalating-fees đầy đủ.
Thực thi song song
Solana thực thi các giao dịch không xung đột song song trên các validator đa lõi. Hai giao dịch xung đột nếu cả hai sửa đổi cùng một account. Hàm ý cho Raydium:- Hai swap trên cùng pool không thể thực thi song song — cả hai sửa đổi trạng thái pool.
- Swap trên Pool A và swap trên Pool B thực thi song song nếu danh sách account không chồng lấp.
- Giao dịch read-only không bao giờ chặn writer trên cùng một account (read-only là song phương với chính nó nhưng không với ghi).
Mức xác nhận giao dịch
Khi gửi giao dịch, bạn chọn mức xác nhận:| Mức độ | Chờ | Tính chắc chắn |
|---|---|---|
processed | ~400 ms | Không được hoàn tất; có thể rollback |
confirmed | ~1 s | Supermajority bỏ phiếu |
finalized | ~13 s | Supermajority rooted |
confirmed là tiêu chuẩn. Đối với các hoạt động xử lý giá trị lớn (pool creation, reward top-up), finalized an toàn hơn.
Mô phỏng
Solana hỗ trợ mô phỏng giao dịch trước khi gửi:getBestSwapInfo để xác minh rằng tuyến đường đã chọn thực sự thành công. Mô phỏng không miễn phí — nó tiêu tốn dung lượng RPC — nhưng nó bắt được lỗi trước khi thanh toán.
Con trỏ
solana-fundamentals/account-model— account trong giao dịch.solana-fundamentals/pdas-and-cpis— cách các chương trình gọi nhau.integration-guides/priority-fee-tuning— kích cỡ giới hạn CU và priority fee.ray/protocol-fees— cấu trúc phí giao thức Raydium.


