Skip to main content

Tổng quan

Các phương thức DAS API trả về tối đa 1.000 bản ghi cho mỗi lần gọi. Để truy xuất thêm, bạn cần phân trang — thực hiện nhiều lệnh gọi và lần lượt duyệt qua các trang dữ liệu. Helius hỗ trợ hai cơ chế: phân trang theo trang và phân trang theo khóa. Phân trang theo trang là cách đơn giản nhất để bắt đầu. Phân trang theo khóa dành cho người dùng nâng cao cần truy vấn hiệu quả trên các tập dữ liệu lớn (trên 500 nghìn bản ghi).

Khi nào nên sử dụng

  • Theo trang — chế độ xem tĩnh, bảng điều khiển và hầu hết các truy vấn hằng ngày. Đơn giản và trực quan.
  • Theo khóa (con trỏ hoặc phạm vi) — tập dữ liệu lớn (toàn bộ bộ sưu tập, trên 500 nghìn tài sản), khi việc duyệt theo trang trở nên chậm.
  • Theo khóa song song — lựa chọn nhanh nhất để quét toàn bộ bộ sưu tập bằng cách phân chia phạm vi địa chỉ.

Tùy chọn sắp xếp

Bạn có thể sắp xếp kết quả theo nhiều trường khác nhau bằng trường sortBy: Tắt tính năng sắp xếp sẽ cho kết quả nhanh nhất, nhưng do dữ liệu không có thứ tự, bạn có thể nhận được kết quả không nhất quán khi phân trang.

Phân trang theo trang

Bạn chỉ định số trang và số lượng mục trên mỗi trang. Để chuyển sang trang tiếp theo, hãy tăng số trang. Cách này đơn giản, trực quan và nhanh trong hầu hết trường hợp sử dụng.
Khi sử dụng trang, cơ sở dữ liệu phải duyệt qua tất cả các mục cho đến khi đến trang tiếp theo. Ví dụ: nếu bạn yêu cầu trang 100 với kích thước trang là 1.000, cơ sở dữ liệu phải duyệt qua 1 triệu bản ghi đầu tiên trước khi trả về dữ liệu. Vì lý do này, phân trang theo trang không được khuyến nghị cho các tập dữ liệu lớn — phân trang theo khóa phù hợp hơn nhiều với những khối lượng công việc đó.

Phân trang theo khóa

Bạn xác định các trang bằng cách cung cấp điều kiện để lọc tập dữ liệu. Ví dụ: “lấy tất cả tài sản có ID > X nhưng ID < Y”. Bạn duyệt toàn bộ tập dữ liệu bằng cách thay đổi X hoặc Y trong mỗi lần gọi. Có hai phương thức phân trang theo khóa:
  1. Dựa trên con trỏ — dễ sử dụng hơn nhưng kém linh hoạt hơn.
  2. Dựa trên phạm vi — phức tạp hơn nhưng rất linh hoạt.
Phân trang theo khóa chỉ được hỗ trợ khi sắp xếp theo id.

Dựa trên con trỏ

Một truy vấn DAS không có bất kỳ tham số phân trang nào sẽ trả về một con trỏ. Truyền lại con trỏ cho DAS API để tiếp tục từ vị trí đã dừng.
Tại thời điểm viết tài liệu này, con trỏ là ID tài sản cuối cùng trong phản hồi; tuy nhiên, thiết kế con trỏ rất linh hoạt và có thể hỗ trợ bất kỳ chuỗi nào.

Dựa trên phạm vi

Để truy vấn trong một phạm vi, hãy chỉ định before và/hoặc after. Về cơ bản, truy vấn là “lấy tất cả tài sản sau X nhưng trước Y”. Bạn duyệt tập dữ liệu bằng cách cập nhật tham số before hoặc after trong mỗi lần gọi.

Truy vấn song song bằng khóa (nâng cao)

Người dùng nâng cao truy vấn các tập dữ liệu lớn (ví dụ: toàn bộ bộ sưu tập NFT nén) nên sử dụng phân trang theo khóa để đạt hiệu suất cao. Ví dụ sau minh họa cách truy vấn song song bằng cách phân chia phạm vi địa chỉ Solana và sử dụng các tham số before/after. Phương thức này nhanh, hiệu quả và an toàn.
Trong ví dụ bên dưới, chúng ta quét toàn bộ bộ sưu tập Tensorian (khoảng 10 nghìn bản ghi). Ví dụ này chia không gian địa chỉ Solana thành 8 phạm vi và quét đồng thời các phạm vi đó. Cách này nhanh hơn nhiều so với các phương pháp khác.

Các bước tiếp theo

Search Assets

Lọc tài sản theo chủ sở hữu, bộ sưu tập và tokenType.

Get Assets (NFTs)

Truy xuất NFT, bộ sưu tập, phiên bản và bằng chứng.

DAS API reference

Lược đồ đầy đủ cho mọi phương thức DAS.