본문으로 건너뛰기

Quicknode SDK 예제

업데이트 날짜:
Jul 13, 2026

개요

이 예시들은 지원되는 Quicknode 제품 전반에 걸쳐 SDK의 구성을 보여줍니다. 이 예시들은 사용자가 이미 다음과 같이 SDK를 초기화했다고 가정합니다. qn ~에서 빠른 시작.

관리자 API

Admin API 클라이언트를 사용하여 엔드포인트, 팀, 사용량, 청구, 보안, 요청 제한 등의 계정 리소스를 확인하고 관리할 수 있습니다.

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);
}

전체 API 기능에 대해서는 Admin API 문서를 참조하십시오.

RPC & Tooling Access

You can use the RPC client to send JSON-RPC requests to the account's Tooling Access endpoint; qn.rpc mints and refreshes the session JWT for each call. Enable Tooling Access first with the qn.admin control-plane methods (requires an admin role). Pass 네트워크 to route a call to a specific network.

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 클라이언트를 사용하여 스트림을 나열, 확인, 생성, 업데이트, 일시 중지, 활성화, 삭제 및 테스트할 수 있습니다. 아래 예제에서는 스트림을 나열하고, 활성화된 스트림의 수를 확인하며, 계정 상태를 변경하지 않고 필터를 시뮬레이션합니다.

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);

대상 옵션, 지원되는 데이터 세트 및 요청 세부 정보에 대해서는 Streams REST API 문서를 참조하십시오.

웹훅

Webhooks 클라이언트를 사용하여 웹훅을 나열하고, 웹훅을 확인하며, 템플릿을 기반으로 웹훅을 생성하고, 전달을 일시 중지하거나 활성화하며, 활성화된 개수를 조회할 수 있습니다. 아래 예시는 읽기 전용입니다.

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}`);

템플릿 동작 및 대상 구성에 대해서는 Webhooks REST API 문서를 참조하십시오.

키-값 저장소

간단한 상태 저장을 위해서는 키-값 저장소 클라이언트를 사용하세요. ‘sets’는 키 하나당 하나의 문자열 값을 저장합니다. ‘lists’는 하나의 키 아래에 정렬된 문자열 모음을 저장합니다.

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}`);

모든 리스트 및 집합 연산에 대해서는 키-값 스토어 REST API 문서를 참조하십시오.

SQL 탐색기

SQL Explorer 클라이언트를 사용하여 인덱싱된 블록체인 데이터에 대해 SQL 쿼리를 실행하고 테이블 스키마를 가져옵니다.

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);

쿼리 구문 및 사용 가능한 테이블에 대해서는 SQL Explorer 문서를 참조하십시오.

에이전트 워크플로우 예시

에이전트는 한 번의 실행으로 여러 클라이언트를 통합 처리할 수 있습니다. 예를 들어, 릴리스 자동화 에이전트는 어떤 조치를 취할지 결정하기 전에 엔드포인트, 스트림, 웹훅, 키-값 저장소 상태를 확인하고 블록체인 데이터를 조회할 수 있습니다.

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,
});
이 문서 공유하기