Ir diretamente para o conteúdo principal

SDK

Atualizado em
14 de julho de 2026

Visão geral

Estes exemplos ilustram SDK nos Quicknode suportados. Partem do princípio de que já inicializou o SDK qn do Início Rápido.

Admin API

Utilize o Admin API para analisar e gerir os recursos da conta, tais como pontos de extremidade, equipas, utilização, faturação, segurança e limites de taxa.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

const endpoints = await qn.admin.getEndpoints({
limit: 20,
sortBy: "created_at",
sortDirection: "desc",
});

for (const endpoint of endpoints.data) {
console.log(endpoint.id, endpoint.name, endpoint.status);
}

Para conhecer toda a superfície da API, consulte Admin API .

Acesso a RPC e ferramentas

Pode utilizar o cliente RPC para enviar pedidos JSON-RPC para o endpoint «Tooling Access» da conta; qn.rpc gera e atualiza o JWT da sessão em cada chamada. Ative primeiro o acesso às ferramentas com o qn.admin métodos do plano de controlo (requer uma função de administrador). Passar rede para encaminhar uma chamada para uma rede específica.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

// Enable Tooling Access once (idempotent; requires an admin role).
const status = await qn.admin.toolingAccessStatus();
if (!status.enabled) {
await qn.admin.enableToolingAccess();
}

// params defaults to []; pass an array (positional) or object (named).
const blockNumber = await qn.rpc.call("eth_blockNumber");
const balance = await qn.rpc.call("eth_getBalance", ["0xabc...", "latest"]);
console.log(blockNumber, balance);

// Route a call to a specific network by its multichain key.
const slot = await qn.rpc.call("getSlot", [], "solana-mainnet");
console.log(slot);

Streams

Utilize o Streams para listar, inspecionar, criar, atualizar, pausar, ativar, eliminar e testar Streams. O exemplo abaixo lista Streams, conta Streams ativados e executa um filtro em modo de simulação sem alterar o estado da conta.

import { QuicknodeSdk, StreamDataset } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

const streams = await qn.streams.listStreams({ limit: 10 });
console.log(`Streams: ${streams.pageInfo.total}`);

const enabled = await qn.streams.getEnabledCount();
console.log(`Enabled Streams: ${enabled.total}`);

const filterFunction = Buffer.from(`
function main(data) {
return data;
}
`).toString("base64");

const result = await qn.streams.testFilter({
network: "ethereum-mainnet",
dataset: StreamDataset.Block,
block: "17811625",
filterFunction,
});

console.log(result.result);

Para conhecer as opções de destino, os conjuntos de dados suportados e os detalhes dos pedidos, consulte a documentação da APIStreams .

Webhooks

Utilize o Webhooks para listar webhooks, analisar um webhook, criar um webhook a partir de um modelo, suspender ou ativar a entrega e obter as contagens de webhooks ativados. O exemplo abaixo é apenas para consulta.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

const webhooks = await qn.webhooks.listWebhooks({
limit: 10,
offset: 0,
});

for (const webhook of webhooks.data) {
console.log(webhook.id, webhook.name, webhook.status);
}

const enabled = await qn.webhooks.getEnabledCount();
console.log(`Enabled webhooks: ${enabled.total}`);

Para obter informações sobre o comportamento dos modelos e a configuração do destino, consulte a documentação da APIWebhooks .

Armazenamento chave-valor

Utilize o cliente Key-Value Store para um estado persistente simples. Os conjuntos «sets» armazenam um valor de cadeia de caracteres por chave. As listas «lists» armazenam coleções ordenadas de cadeias de caracteres sob uma única chave.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

const sets = await qn.kvstore.getSets({ limit: 10 });
console.log(`Sets: ${sets.data.length}`);

if (sets.data.length > 0) {
const set = await qn.kvstore.getSet(sets.data[0].key);
console.log(set.value);
}

const lists = await qn.kvstore.getLists({ limit: 10 });
console.log(`Lists: ${lists.data.keys.length}`);

Para todas as operações relacionadas com listas e conjuntos, consulte a documentação da API REST do Key-Value Store.

SQL Explorer

Utilize o cliente SQL Explorer para executar consultas SQL em dados da blockchain indexados e recuperar esquemas de tabelas.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

// Run a SQL query
const result = await qn.sql.query(
"SELECT action_type, user FROM hyperliquid_system_actions LIMIT 3",
"hyperliquid-core-mainnet"
);
console.log(`${result.rows} rows, ${result.credits} credits`);

// Get the schema for a cluster
const schema = await qn.sql.getSchema("hyperliquid-core-mainnet");
console.log(schema);

Para obter informações sobre a sintaxe das consultas e as tabelas disponíveis, consulte a documentação do SQL Explorer.

Exemplo de Agent

Agents combinar clientes numa única execução. Por exemplo, um agent de automatização de lançamentos agent inspecionar terminais, Streams, Webhooks, o estado do armazenamento chave-valor e consultar dados da blockchain antes de decidir que ação tomar.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

const endpoints = await qn.admin.getEndpoints({ tagLabels: ["sdk-managed"] });
const streams = await qn.streams.listStreams({ limit: 10 });
const webhooks = await qn.webhooks.listWebhooks({ limit: 10 });
const sets = await qn.kvstore.getSets({ limit: 10 });
const trades = await qn.sql.query(
"SELECT * FROM hyperliquid_trades LIMIT 5",
"hyperliquid-core-mainnet"
);

console.log({
endpoints: endpoints.data.length,
streams: streams.data.length,
webhooks: webhooks.data.length,
sets: sets.data.length,
trades: trades.rows,
});
Partilhar este documento