Tổng quan
Điểm cuối Lịch sử giao dịch trả về lịch sử giao dịch dễ đọc cho mọi địa chỉ Solana. Thay vì xử lý dữ liệu chỉ thị thô và danh sách tài khoản, bạn nhận được thông tin có cấu trúc về:- Điều đã xảy ra trong giao dịch (chuyển khoản, hoán đổi, hoạt động NFT).
- Các tài khoản có liên quan.
- Lượng SOL hoặc số token đã được chuyển.
- Siêu dữ liệu liên quan (địa chỉ mint token, tên token, ký hiệu token và nhiều thông tin khác).
GET đến /v0/addresses/{address}/transactions. Về cơ chế nội bộ, điểm cuối này được cung cấp bởi phương thức RPC getTransactionsForAddress.
Khi nào nên sử dụng
- Bạn đang hiển thị lịch sử giao dịch của một địa chỉ cho người dùng (ví, trình theo dõi danh mục đầu tư, trình khám phá).
- Bạn muốn có lịch sử đã được phân tích cú pháp trước và dễ đọc mà không cần tự viết bộ giải mã.
- Bạn cần lọc lịch sử theo loại giao dịch, phạm vi thời gian hoặc phạm vi slot.
- Bạn cần toàn bộ lịch sử token của ví, bao gồm các tài khoản token liên kết (ATA) — xem bên dưới.
getTransactionsForAddress là giải pháp hiện đại, thuần Helius, hỗ trợ lọc phía máy chủ và tra cứu tài khoản token.
Bắt đầu nhanh
1
Get your API key
Đăng ký tại dashboard.helius.dev và sao chép khóa API của bạn.
2
GET the address transactions endpoint
Truy xuất lịch sử giao dịch cho bất kỳ địa chỉ Solana nào.
- JavaScript
- Python
3
Filter and paginate
Thu hẹp kết quả bằng
type cùng các bộ lọc thời gian và slot bên dưới, sau đó phân trang qua các địa chỉ có khối lượng lớn bằng con trỏ chữ ký.Hỗ trợ mạng
Tham số yêu cầu
Lọc theo thời gian
Lọc theo slot
Lưu ý về lọc:
- Tham số thời gian sử dụng dấu thời gian Unix (số giây kể từ epoch); tham số slot sử dụng số slot Solana.
- Không thể kết hợp bộ lọc theo thời gian và theo slot trong cùng một yêu cầu.
- Sử dụng
sort-order=ascđể sắp xếp tăng dần (cũ nhất trước) hoặcsort-order=descđể sắp xếp giảm dần (mới nhất trước). - Sử dụng bộ lọc thời gian hoặc slot để thu hẹp phạm vi tìm kiếm khi biết khoảng thời gian gần đúng, đồng thời kết hợp với
limitđể kiểm soát kích thước trang.
Tài khoản token liên kết
Trên Solana, ví không trực tiếp nắm giữ token. Thay vào đó, ví sở hữu các tài khoản token và các tài khoản token đó nắm giữ token. Khi ai đó gửi USDC cho bạn, USDC sẽ được chuyển vào tài khoản token USDC thay vì địa chỉ ví chính. Điểm cuối này khác biệt ở khả năng truy vấn toàn bộ lịch sử token của ví, bao gồm các tài khoản token liên kết (ATA). Các phương thức RPC gốc nhưgetSignaturesForAddress không bao gồm ATA.
Bộ lọc token-accounts kiểm soát hành vi này:
none(mặc định) — chỉ trả về các giao dịch tham chiếu trực tiếp đến địa chỉ ví. Sử dụng tùy chọn này khi bạn chỉ quan tâm đến các tương tác trực tiếp với ví.balanceChanged(khuyên dùng) — trả về các giao dịch tham chiếu đến địa chỉ ví hoặc thay đổi số dư của tài khoản token do ví sở hữu. Tùy chọn này loại bỏ thư rác và các thao tác không liên quan như thu phí hoặc ủy quyền, qua đó cung cấp góc nhìn rõ ràng về hoạt động ví có ý nghĩa.all— trả về tất cả giao dịch tham chiếu đến địa chỉ ví hoặc bất kỳ tài khoản token nào do ví sở hữu.
Bộ lọc
Lọc theo loại giao dịch
Chỉ lấy các loại giao dịch cụ thể, chẳng hạn như bán NFT, chuyển token hoặc hoán đổi:- NFT Sales
- Token Transfers
- Swaps
Lọc loại trong thời gian chạy
Việc lọc loại diễn ra trong thời gian chạy: API tìm kiếm tuần tự qua các giao dịch cho đến khi tìm thấy ít nhất 50 mục phù hợp. Nếu không tìm thấy kết quả phù hợp nào trong cửa sổ tìm kiếm, API trả về lỗi kèm chữ ký để tiếp tục tìm kiếm từ đó. Đây là hành vi dự kiến, không phải lỗi hoạt động.
before-signature cho thứ tự giảm dần, after-signature cho thứ tự tăng dần) trong yêu cầu tiếp theo.
Continuation loop for type filters (full example)
Continuation loop for type filters (full example)
- Khi sử dụng bộ lọc loại, API tìm kiếm tối đa 50 giao dịch mỗi lần.
- Nếu không tìm thấy kết quả phù hợp, hãy dùng chữ ký trong thông báo lỗi để tiếp tục tìm kiếm.
- Sử dụng
before-signaturekhi tìm kiếm theo thứ tự giảm dần (mặc định, mới nhất trước). - Sử dụng
after-signaturekhi tìm kiếm theo thứ tự tăng dần (cũ nhất trước) — bắt buộc đối với tìm kiếm theo trình tự thời gian. - Triển khai giới hạn số lần thử lại tối đa để tránh vòng lặp vô hạn.
Ví dụ
Các tình huống sau đề cập đến phạm vi thời gian và slot, thứ tự sắp xếp, ATA và bộ lọc kết hợp.Filter by time range
Filter by time range
Lấy các giao dịch trong một khoảng thời gian cụ thể:
- Last 24 Hours
- Specific Date Range
Filter by slot range
Filter by slot range
Lấy các giao dịch trong một phạm vi slot cụ thể:
Change sort order
Change sort order
Lấy các giao dịch theo thứ tự tăng dần (cũ nhất trước):
Combine multiple filters
Combine multiple filters
Kết hợp lọc theo loại với phạm vi thời gian và thứ tự sắp xếp tùy chỉnh:
Phân trang
Đối với các địa chỉ có khối lượng lớn, hãy phân trang qua kết quả bằng cách dùng chữ ký cuối cùng trong mỗi lô làm con trỏ:before-signature về phía trước trong mỗi vòng lặp:
Các bước tiếp theo
getTransactionsForAddress
Giải pháp thay thế hiện đại, thuần Helius cho lịch sử giao dịch và backfill.
Wallet API
Các điểm cuối REST cho dữ liệu ví dễ đọc: số dư, lịch sử và giao dịch chuyển.
Parse Transactions
Phân tích cú pháp một hoặc nhiều chữ ký giao dịch thành dữ liệu dễ đọc.
Getting Data overview
So sánh mọi tùy chọn Helius để truy vấn dữ liệu Solana.