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 →
Rent là một khoản ký quỹ có thể hoàn lại, không phải một khoản phí. SIMD-0437 giảm khoản ký quỹ mà mỗi tài khoản phải nắm giữ, qua năm bước được kiểm soát độc lập. Các tài khoản được tạo trước một bước sẽ giữ lại số dư mà chúng được tài trợ, vì vậy mỗi bước để lại chúng bị tài trợ quá mức. Các chương trình SPL Token và Token-2022 có thể trả lại sự khác biệt đó thông qua
WithdrawExcessLamports mà không cần đóng tài khoản hoặc chạm vào số dư token. Không có gì hết hạn — phần dư nằm trong các tài khoản của bạn cho đến khi bạn chọn di chuyển nó.Rent thực sự là gì
Mỗi tài khoản trên Solana nắm giữ một khoản ký quỹ SOL được định kích thước theo không gian mà nó chiếm dụng. Nó không bị chi tiêu — nó được trả lại đầy đủ khi tài khoản được đóng. Công thức là:ACCOUNT_STORAGE_OVERHEAD là 128 byte cố định mà mỗi tài khoản phải trả bất kể nội dung của nó. lamports_per_byte là hằng số toàn mạng mà SIMD-0437 thay đổi.
Một tài khoản token SPL tiêu chuẩn 165 byte do đó luôn có chi phí (128 + 165) × 6,960 = 2,039,280 lamports — khoảng ~0.00203928 SOL mà bạn thấy bị khấu trừ bất cứ khi nào ví mở một tài khoản token liên kết.
SIMD-0437 thay đổi gì
SIMD-0437 giảmlamports_per_byte từ 6,960 xuống 696 — giảm 90% — được triển khai qua năm cổng tính năng riêng biệt để các trình xác thực có thể hấp thụ hiệu ứng tăng trưởng trạng thái từng bước một.
Bước 1 được kích hoạt trên mainnet vào ngày 3 tháng 9 năm 2026. Các bước còn lại sẽ được triển khai khi các cổng tính năng của chúng được bật; hãy coi lịch trình có thể thay đổi và đọc giá trị trực tiếp từ cụm thay vì mã hóa cứng nó.
SIMD-0437 phụ thuộc vào SIMD-0194, cái mà loại bỏ ngưỡng miễn phí rent “để tránh toán học dấu phẩy động không cần thiết khi đặt các tham số rent khi kích hoạt tính năng”. Trong thực tế, sysvar
Rent hiện mang lamports_per_byte_year = 6,333 với exemption_threshold = 1.0, thay vì phân chia 3,480 × 2 cũ tạo ra 6,960. Đừng nhân hai trường đó với nhau — gọi getMinimumBalanceForRentExemption và để cụm trả lời.Tại sao các tài khoản hiện tại nắm giữ quá nhiều
Giảm hằng số thay đổi những gì một tài khoản cần. Nó không thay đổi những gì một tài khoản có. Một tài khoản được tài trợ ở 6,960 lamports trên byte giữ lại số dư đó sau khi bước 1 được kích hoạt, vì vậy nó bị tài trợ quá mức bởi:293 × (6,960 − 6,333) = 183,711 lamports, hoặc khoảng ~0.000184 SOL trên mỗi tài khoản. Một tài khoản Token-2022 mang các tiện ích mở rộng lớn hơn, vì vậy nó nắm giữ tương ứng nhiều hơn — một tài khoản 182-byte bị tài trợ quá mức bởi 310 × 627 = 194,370 lamports.
Riêng lẻ đó là một lượng nhỏ. Một ví đã tương tác với một vài trăm token qua các năm đang nắm giữ một bội số có ý nghĩa của nó, và theo bước 5, mỗi tài khoản 165-byte có 1,835,352 lamports (~0.00184 SOL) nằm trên mức tối thiểu của nó.
Những tài khoản nào có thể trả lại nó
Lamports dư thừa trong một tài khoản do chương trình sở hữu chỉ có thể được di chuyển bởi chương trình đó. Liệu bạn có thể hoàn lại rent mà không cần đóng tài khoản hay không do đó hoàn toàn phụ thuộc vào chương trình nào sở hữu nó.SPL Token và Token-2022
Cả hai đều công khai
WithdrawExcessLamports. Tài khoản vẫn mở, giữ lại số dư token của nó, và đơn giản là giảm xuống mức tối thiểu hiện tại.Mọi thứ khác
Không có lệnh tương đương. Rent chỉ được phát hành khi tài khoản được đóng — một hoạt động phá hủy với các điều kiện tiên quyết riêng của nó, không phải một lần quét rent.
Các tài khoản SOL được bao bọc là một ngoại lệ của chương trình token: số dư lamport của chúng là số dư token của chúng, vì vậy cả hai chương trình đều từ chối chúng với
TokenError::NativeNotSupported. Token-2022 đã thêm UnwrapLamports (discriminant 45) cho trường hợp đó; @solana/spl-token vận chuyển createUnwrapLamportsInstruction cho nó kể từ 0.4.15. Bỏ qua các tài khoản native trong một lần quét rent và xử lý chúng một cách cố ý.
Lệnh WithdrawExcessLamports
Discriminant 38 trong enum lệnh của cả hai chương trình token. Từ spl-token-interface:
- Nó không lấy số tiền. Chương trình tính toán
source.lamports − rent.minimum_balance(source.data_len())chính nó, vì vậy nó không bao giờ có thể lấy một tài khoản dưới mức tối thiểu hiện tại, và nó vẫn chính xác khi các bước sau được kích hoạt. - Nó không đóng bất cứ điều gì. Tài khoản giữ lại dữ liệu, chủ sở hữu và số dư token của nó.
- Nó là idempotent. Chạy nó trên một tài khoản đã ở mức tối thiểu di chuyển không lamports và thành công.
Xây dựng lệnh
@solana/spl-token không xuất một trình xây dựng cho nó. Kể từ 0.4.15, mục enum vẫn bị bình luận:
programId của mỗi tài khoản. Các lệnh SPL Token và Token-2022 có thể chia sẻ một giao dịch, nhưng mỗi lệnh phải được gửi đến chương trình sở hữu tài khoản nguồn của nó.
Được đo lường trên mainnet, lệnh này tốn 270 compute units trên chương trình SPL Token và 1,414 trên Token-2022 — không đáng kể bằng cách nào. Ràng buộc thực sự là kích thước giao dịch, không phải tính toán.
Tìm các tài khoản có thể hoàn lại
Đừng tính toán phần dư từ một tỷ lệ được mã hóa cứng. Hỏi cụm những gì mỗi tài khoản cần ngay bây giờ, vì vậy cùng một mã vẫn hoạt động qua cả năm bước:getMinimumBalanceForRentExemption(0) là một kênh phụ hữu ích: nó trả về chính xác 128 × lamports_per_byte, vì vậy chia cho 128 cho bạn biết bước triển khai nào cụm đang ở mà không cần phân tích sysvar Rent.
Ghép lô: bao nhiêu vừa trong một giao dịch
Mỗi lệnhWithdrawExcessLamports đóng góp một khóa tài khoản có thể ghi duy nhất — 32 byte trong thông báo được biên dịch — cộng với khoảng 7 byte mã hóa lệnh. Đích đến, quyền hạn và người trả phí đều là cùng một ví, vì vậy chúng tốn một khóa giữa chúng.
Chống lại giới hạn giao dịch 1,232 byte, khoảng 26 lệnh vừa một khi các lệnh ngân sách tính toán và blockhash được tính. Hai mươi trên mỗi giao dịch là con số làm việc an toàn, và đó là những gì triển khai của Raydium sử dụng. Một ví có 116 tài khoản có thể hoàn lại do đó quét trong sáu giao dịch, ở mức phí cơ sở 5,000 lamports mỗi cái.
Lưu ý kinh tế: phí được tính trên mỗi giao dịch, không phải trên mỗi tài khoản. Hoàn lại ít tài khoản hơn không tốn ít hơn, đó là lý do tại sao một lần quét một phần hiếm khi đáng giá các chuyến tròn bổ sung.
Hoàn lại thông qua Raydium
Trang raydium.io/reclaim-rent quét các tài khoản SPL Token và Token-2022 của ví được kết nối, hiển thị tổng số được chia theo chương trình, và quét mọi thứ trong các giao dịch được ghép lô. Quét là chỉ đọc — không có chữ ký cho đến khi bạn nhấn Reclaim all rent. Trang này cố ý chỉ bao gồm các tài khoản token. Các loại tài khoản chỉ có thể phát hành rent bằng cách đóng được loại trừ thay vì được liệt kê là không khả dụng, vì đóng một tài khoản là một hành động khác, phá hủy.Hoàn lại từ bản demo SDK
Biểu ngữ phiên bản. Các bản demo nhắm mục tiêu
@raydium-io/raydium-sdk-v2@0.2.42-alpha chống lại Solana mainnet-beta, được xác minh 2026-09. WithdrawExcessLamports được mã hóa bằng tay và độc lập với phiên bản SDK; SDK chỉ được sử dụng để xây dựng và ghép lô giao dịch.raydium-sdk-V2-demo/src/rent:
reclaimRent.ts ghép lô ở 20 tài khoản trên mỗi giao dịch và ký tất cả các lô trong một lần:
simulateTransaction với accounts.addresses trả về số dư lamport sau khi thực thi, đó là cách rẻ nhất để xác nhận số học khớp với những gì cụm sẽ thực sự làm.
Bạn nên hoàn lại ngay bây giờ hay chờ đợi?
Cả hai đều tốt, và sự khác biệt là nhỏ bằng cách nào:- Phần dư không đi đâu. Nó nằm trong các tài khoản của bạn. Không có gì hết hạn, không có gì bị quét, không có thời hạn nào áp dụng.
- Chờ đợi tăng gấp đôi. Mỗi bước phát hành thêm từ các tài khoản tương tự, và một lần quét sau bước 5 tốn cùng một khoản phí như một lần quét hôm nay.
- Hoàn lại ngay bây giờ không từ bỏ các bước sau. Một tài khoản bạn quét hôm nay đơn giản là ở mức tối thiểu hiện tại; bước tiếp theo làm cho nó bị tài trợ quá mức lại và bạn có thể quét nó lại.
Đọc thêm
SIMD-0437
Đề xuất chính nó — năm cổng tính năng và lý do cho việc bước giảm.
Reduced rent
Trang triển khai của Solana: bước hiện tại, lịch trình, và những gì thay đổi cho các tài khoản mới.
Rent reduction: a data-backed analysis
Kinh tế, và rủi ro tăng trưởng trạng thái mà triển khai bước được thiết kế để quản lý.
Account model
Cách các tài khoản Solana được tài trợ, sở hữu và đóng — nền tảng cho mọi thứ ở trên.

