Overzicht
In deze QuickStart wordt uitgelegd hoe je de SDK installeert, een API-sleutel configureert en je eerste API-verzoek voor een product indient.
Create one configured SDK instance, then use the product clients attached to that instance. Your API key, timeouts, and optional base URL overrides are shared across every client, so scripts, services, and agents can move between Quicknode products without rebuilding authentication or HTTP configuration.
qn.admin: Beheer eindpunten, teams, gebruik, facturering, logbestanden, statistieken, beveiliging, verwerkingslimieten en tags.qn.rpc: Verzend JSON-RPC-verzoeken naar het Tooling endpoint van het account; per aanroep worden sessie-JWT’s aangemaakt en vernieuwd.qn.streams: Streams aanmaken, weergeven, bijwerken, pauzeren, activeren, testen en verwijderen.qn.webhooks: Beheer webhook-sjablonen, bestemmingen, levenscyclusacties en het aantal ingeschakelde webhooks.qn.kvstore: Store and retrieve sets and lists for cursors, watchlists, filters, and lightweight agent state.qn.sql: Voer SQL-query’s uit op geïndexeerde blockchain-gegevens en haal tabelschema’s op.
Vereisten
Before you begin, create a Quicknode API key from the Quicknode dashboard. Agents can also create their own API keys, to learn more check out Agent Subscriptions.
Stel het vervolgens in je omgeving in:
exporteren QN_SDK__API_KEY="UW_API_SLEUTEL"
Installeren
De SDK voorgecompileerde binaire bestanden voor Linux (glibc en musl, x86_64 en aarch64) en macOS Apple Silicon. Browsers, Windows (gebruik WSL2) en Intel-macOS worden niet ondersteund. Zie Platformondersteuning voor het volledige overzicht.
- Node.js
Python
- Roest
- Ruby
npm installerensdk
Het Node.js-pakket ondersteunt TypeScript, CommonJS, ES-modules en Bun.
pip installerensdk
Voor dit Python-pakket is Python 3.11 of nieuwer vereist.
vracht toevoegensdk
edelsteen installerenquicknode
Dien je eerste aanvraag in
Geef een overzicht van de eindpunten die beschikbaar zijn voor je account via de Admin API .
- Node.js
Python
- Roest
- Ruby
import { QuicknodeSdk } from "@quicknode/sdk";
const qn = QuicknodeSdk.fromEnv();
const response = await qn.admin.getEndpoints({ limit: 20 });
console.log(response.data);
import asyncio
vanquicknodeimport QuicknodeSdk
async def main():
qn = QuicknodeSdk.from_env()
response = await qn.admin.get_endpoints(limiet=20)
print(response.gegevens)
asyncio.run(main()))
use quicknode_sdk::QuicknodeSdk;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let qn = QuicknodeSdk::from_env()?;
let response = qn.admin.get_endpoints(&Default::default()).await?;
println!("{:?}", response.data);
Ok(())
}
vereist "quicknode"
qn = QuicknodeSdk::SDK.from_env
response = qn.admin.get_endpoints(limiet: 20)
geeft het antwoord weer["data"]
Direct configureren
Je kunt ook rechtstreeks een configuratie doorgeven in plaats van de standaardomgevingsvariabelen te gebruiken.
- Node.js
Python
- Roest
- Ruby
import { QuicknodeSdk } from "@quicknode/sdk";
const qn = new QuicknodeSdk({
apiKey: "YOUR_API_KEY",
http: {
timeoutSecs: 30,
},
});
vanquicknodeimport HttpConfig, QuicknodeSdk, SdkFullConfig
qn = QuicknodeSdk(
SdkFullConfig(
api_key="YOUR_API_KEY",
http=HttpConfig(timeout_secs=30),
)
)
use quicknode_sdk::{QuicknodeSdk, SdkFullConfig};
let qn = QuicknodeSdk::new(
&SdkFullConfig::builder()
.api_key("YOUR_API_KEY")
.build(),
)?;
vereist "quicknode"
qn = QuicknodeSdk::SDK.from_config(api_key: "YOUR_API_KEY")
Omgevingsvariabelen
| Variabele | Verplicht | Standaard | Beschrijving |
|---|---|---|---|
QN_SDK__API_KEY | Ja | Geen | Uw Quicknode -sleutel |
QN_SDK__HTTP__TIMEOUT_SECS | Nee | 30 | Time-out voor HTTP-verzoeken in seconden |
QN_SDK__HTTP__POOL_MAX_IDLE_PER_HOST | Nee | Geen | Maximaal aantal inactieve HTTP-verbindingen per host |
QN_SDK__ADMIN__BASE_URL | Nee | https://api.quicknode.com/v0/ | Debase van Admin API overschrijven |
QN_SDK__STREAMS__BASE_URL | Nee | https://api.quicknode.com/streams/rest/v1/ | De base van Streams overschrijven |
QN_SDK__WEBHOOKS__BASE_URL | Nee | https://api.quicknode.com/webhooks/rest/v1/ | De base van de Webhooks overschrijven |
QN_SDK__KVSTORE__BASE_URL | Nee | https://api.quicknode.com/kv/rest/v1/ | De base van de Key-Value Store API overschrijven |
QN_SDK__SQL__BASE_URL | Nee | https://api.quicknode.com/sql/rest/v1/ | De base van de SQL Explorer API overschrijven |
Productklanten
Zodra de initialisatie is voltooid, krijg je via één enkele client toegang tot alle API’s Quicknode :
const eindpunten = await qn.admin.getEndpoints();
const bloknummer = await qn.rpc.call("eth_blockNumber");
const streams = await qn.streams.listStreams();
const webhooks = await qn.webhooks.listWebhooks();
const sets = await qn.kvstore.getSets();
const transacties = await qn.sql.query("SELECT * FROM hyperliquid LIMIT 5", "mainnet");
Taalconventies
| Taal | Conventie |
|---|---|
| Node.js / TypeScript | Methoden zijn asynchroon en hebben namen in camelCase. Geef parameters door als één enkel options-object. |
| Python | Methoden zijn asynchroon en hebben namen in snake_case. Parameters worden doorgegeven als trefwoordargumenten. |
| Roest | Methoden zijn asynchroon en retourneren Result-typen. Request-structuren maken gebruik van builders waar dat mogelijk is. |
| Ruby | De methoden zijn blokkerend en hebben namen in snake_case. Reacties worden teruggegeven als Ruby-hashes; er kan rechtstreeks toegang tot de sleutels worden verkregen. |
Zie ‘Voorbeelden’ voor volledige workflows. Raadpleeg de REST API-documentatie voor Admin API, Streams, Webhooks, Key-Value Store en SQL Explorer.