Skip to main content

Visão Geral

Os métodos da DAS API retornam até 1.000 registros por chamada. Para recuperar mais, você usa paginação — fazendo várias chamadas e percorrendo páginas de dados. A Helius suporta dois mecanismos: paginação baseada em páginas e em keyset. A paginação baseada em páginas é a maneira mais simples de começar. A paginação por keyset é para usuários avançados que desejam consultar grandes conjuntos de dados (500k+) de forma eficiente.

Quando usar isto

  • Baseada em páginas — visualizações estáticas, painéis e a maioria das consultas diárias. Fácil e intuitiva.
  • Keyset (cursor ou intervalo) — grandes conjuntos de dados (coleções inteiras, 500k+ ativos) onde a navegação baseada em páginas se torna lenta.
  • Keyset paralelo — a opção mais rápida para escanear uma coleção inteira, particionando o intervalo de endereços.

Opções de ordenação

Você pode ordenar os resultados por diferentes campos usando o campo sortBy: Desativar a ordenação gera os resultados mais rápidos, mas como os dados estão desordenados, você pode obter resultados inconsistentes ao paginar.

Paginação baseada em páginas

Você especifica o número da página e o número de itens por página. Para avançar para a próxima página, incremente o número da página. Isso é fácil, intuitivo e rápido para a maioria dos casos de uso.
Usar páginas requer que o banco de dados percorra todos os itens até atingir a próxima página. Por exemplo, se você solicitar a página 100 com tamanho de página de 1.000, o banco de dados deve percorrer os primeiros 1M de registros antes de retornar seus dados. Por isso, a paginação baseada em páginas não é recomendada para grandes conjuntos de dados — a paginação por keyset é muito mais adequada para esses workloads.

Paginação por keyset

Você define as páginas fornecendo condições que filtram o conjunto de dados. Por exemplo, “me forneça todos os ativos com ID > X, mas com ID < Y.” Você percorre todo o conjunto de dados modificando X ou Y a cada chamada. Há dois métodos de paginação por keyset:
  1. Baseado em cursor — mais fácil de usar, mas menos flexível.
  2. Baseado em intervalo — mais complexo, mas muito flexível.
A paginação por keyset é suportada apenas quando a ordenação é feita por id.

Baseado em cursor

Uma consulta DAS sem nenhum parâmetro de paginação retorna um cursor. Passe o cursor de volta para a DAS API para continuar de onde parou.
No momento da escrita, o cursor é o último ID de ativo da resposta; no entanto, o design do cursor é flexível e pode suportar qualquer string.

Baseado em intervalo

Para consultar em um intervalo, especifique before e/ou after. A consulta é essencialmente “me forneça todos os ativos após X, mas antes de Y.” Você percorre o conjunto de dados atualizando o parâmetro before ou after em cada chamada.

Consulta paralela com keysets (avançado)

Usuários avançados que consultam grandes conjuntos de dados (por exemplo, coleções inteiras de NFTs comprimidas) devem usar a paginação baseada em keyset para desempenho. O exemplo a seguir mostra como consultar em paralelo, particionando o intervalo de endereços Solana e usando os parâmetros before/after. Este método é rápido, eficiente e seguro.
No exemplo abaixo, escaneamos toda a coleção Tensorian (~10k registros). Ele particiona o espaço de endereços Solana em 8 intervalos e escaneia esses intervalos simultaneamente. Isso é muito mais rápido do que as outras abordagens.

Próximos passos

Procurar Ativos

Filtre ativos por proprietário, coleção e tipo de token.

Obter Ativos (NFTs)

Recupere NFTs, coleções, edições e provas.

Referência da DAS API

Esquemas completos para cada método DAS.