@noves/intent-typescript-sdk v0.0.1
Noves Intent TypeScript SDK
The official TypeScript SDK for interacting with Noves Intents, providing seamless access to blockchain data and analytics.
Features
- 🎯 Intent-based data querying
- 🔄 Real-time data streaming
- 🔒 Type-safe API
- ⚡ Optimized for both client and server environments
- 🌐 Cross-chain support
Installation
npm install @noves/intent-ts-sdkQuick Start
import { ClientSideIntentSDK } from "@noves/intent-typescript-sdk";
const sdk = new ClientSideIntentSDK();
// Get available intents
const intents = await sdk.getIntents();
console.log(intents);Client-Side Usage
The client-side SDK is optimized for browser environments and uses WebSocket for streaming data.
import { ClientSideIntentSDK } from "@noves/intent-typescript-sdk";
const sdk = new ClientSideIntentSDK();
// Get a single value
const data = await sdk.getValue("token-price-history", {
chain: "ethereum",
token_address: "0x..."
});
// Stream real-time data
sdk.getStream(
"token-price-ticks",
{
chain: "ethereum",
token_address: "0x..."
},
(data) => console.log("New price:", data),
(error) => console.error("Stream error:", error),
() => console.log("Stream completed")
);
// Stop streaming
sdk.stopStream("token-price-ticks");Server-Side Usage
The server-side SDK is optimized for Node.js environments and uses gRPC for streaming data.
import { ServerSideIntentSDK } from "@noves/intent-typescript-sdk/server";
const sdk = new ServerSideIntentSDK();
// Get a single value
const data = await sdk.getValue("wallet-view", {
chain: "avalanche",
address: "0x..."
});
// Stream data with gRPC
sdk.getStream(
"live-bridge-txs",
{},
(data) => console.log("New bridge transaction:", data),
(error) => console.error("Stream error:", error),
() => console.log("Stream completed")
);
// Stop streaming
sdk.stopStream("live-bridge-txs");Core Methods
getIntents()
Returns a list of all available intents.
const intents = await sdk.getIntents();getValue(intentId, params, pageSize?)
Executes a value intent and returns the result.
const result = await sdk.getValue("intent-id", {
param1: "value1",
param2: "value2"
});getStream(intentId, params, onData, onError?, onComplete?)
Initiates a data stream for the specified intent.
sdk.getStream(
"intent-id",
{ param1: "value1" },
(data) => console.log(data),
(error) => console.error(error),
() => console.log("Stream ended")
);Type Safety
The SDK provides full TypeScript support with auto-generated types for all intents and their parameters.
import { ValueIntentId, StreamableIntentId } from "@noves/intent-typescript-sdk";
// Type-safe intent IDs
const valueIntent: ValueIntentId = "token-price-history";
const streamIntent: StreamableIntentId = "token-price-ticks";Error Handling
The SDK handles errors gracefully with proper error types and messages.
import { IntentSDKError } from "@noves/intent-typescript-sdk";
try {
await sdk.getValue("non-existent-intent");
} catch (error) {
if (error instanceof IntentSDKError) {
console.error("SDK Error:", error.message);
}
}Support
Feel free to join our Telegram community to get help or feedback.
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago