Skip to main content
Enhanced Transactions API là sản phẩm cũ đang ở chế độ bảo trì. API này vẫn hoạt động và các trang này vẫn khả dụng, nhưng không còn nhận thêm loại trình phân tích cú pháp hoặc tính năng mới. Sản phẩm kế nhiệm là Parsed Events, giải mã các chỉ thị thông qua danh mục IDL và có trong mọi gói với mức phí 10 credit cho mỗi yêu cầu. Hướng dẫn di chuyển trình bày từng bước chuyển đổi. Bạn cũng có thể sử dụng getTransactionsForAddress cho lịch sử giao dịch và backfill, cũng như Wallet API cho dữ liệu ví dễ đọc.

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).
Gửi yêu cầu 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.
Đối với các dự án mớ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.
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ặc sort-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 token-accounts phụ thuộc vào trường owner trong siêu dữ liệu số dư token. Trường này không khả dụng trước slot 111.491.819 (khoảng tháng 12 năm 2022). Các giao dịch liên quan đến tài khoản token hoạt động trước slot này có thể không xuất hiện trong kết quả balanceChanged và all. Xem hướng dẫn getTransactionsForAddress để biết giải pháp thay thế kèm ví dụ mã đầy đủ.

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:
Để xem danh sách đầy đủ các loại giao dịch được hỗ trợ, hãy xem tài liệu tham chiếu Transaction History API.

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.
Khi không tìm thấy giao dịch phù hợp nào trong cửa sổ tìm kiếm hiện tại, API trả về phản hồi lỗi như sau:
Để tiếp tục, hãy dùng chữ ký trong thông báo lỗi với tham số thích hợp (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.
Các điểm chính:
  • 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-signature khi tìm kiếm theo thứ tự giảm dần (mặc định, mới nhất trước).
  • Sử dụng after-signature khi 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.
Lấy các giao dịch trong một khoảng thời gian cụ thể:
Lấy các giao dịch trong một phạm vi slot cụ thể:
Lấy các giao dịch theo thứ tự tăng dần (cũ nhất trước):
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ỏ:
Để phân trang trong một phạm vi thời gian, hãy giữ nguyên các bộ lọc thời gian trong mọi yêu cầu và chuyển 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.