Hivatalos SDK könyvtárak
Hivatalos kliens könyvtárak Pythonhoz, JavaScripthez, Góhoz és Rusthoz. Egyszerűsített API integráció típusos kliensekkel, automatikus újrapróbálkozási logikával és WebSocket támogatással.
Python SDK
Csomag: smartmoney-api
Telepítés: pip install smartmoney-api
Tárhely: github.com/smartmoneyapi/python-client
from smartmoney import SmartMoneyAPI
# Kliens inicializálása
client = SmartMoneyAPI(api_key="sk_live_abc123xyz789")
# Bálnapozíciók lekérése
whales = client.whale_positions(symbol="BTCUSDT", limit=50)
for position in whales:
print(f"{position.wallet_address}: {position.position_size} BTC @ {position.entry_price}")
# Finanszírozási ráta lekérése
funding = client.funding_rates(symbol="BTCUSDT", interval="4h", limit=24)
# Élő frissítések streamelése
with client.stream_whale_positions(["BTCUSDT", "ETHUSDT"]) as stream:
for update in stream:
print(f"Pozíció frissítés: {update}")
Funkciók
- Async/await támogatás (asyncio, aiohttp)
- Automatikus újrapróbálkozás exponenciális visszalépéssel
- WebSocket streamelés automatikus újrakapcsolódással
- Típusjelzések és IDE autokiegészítés
- Kérésnaplózás és hibakeresés
JavaScript SDK
Csomag: smartmoney-api
Telepítés: npm install smartmoney-api
Tárhely: github.com/smartmoneyapi/js-client
import { SmartMoneyAPI } from "smartmoney-api";
const client = new SmartMoneyAPI({
apiKey: "sk_live_abc123xyz789"
});
// Bálnapozíciók lekérése
const whales = await client.whalePositions({
symbol: "BTCUSDT",
limit: 50
});
whales.positions.forEach(pos => {
console.log(`${pos.wallet_address}: ${pos.position_size} BTC`);
});
// Valós idejű frissítések streamelése
const stream = client.streamWhalePositions(["BTCUSDT", "ETHUSDT"]);
stream.on("data", (update) => {
console.log("Pozíció frissítés:", update);
});
stream.on("error", (err) => {
console.error("Stream hiba:", err);
});
Go SDK
Modul: github.com/smartmoneyapi/go-client
Telepítés: go get github.com/smartmoneyapi/go-client
package main
import (
"fmt"
"github.com/smartmoneyapi/go-client"
)
func main() {
// Kliens létrehozása
client := smartmoney.NewClient("sk_live_abc123xyz789")
// Bálnapozíciók lekérése
positions, err := client.WhalePositions(ctx, &smartmoney.WhalePositionsFilter{
Symbol: "BTCUSDT",
Limit: 50,
})
if err != nil {
panic(err)
}
for _, pos := range positions {
fmt.Printf("%s: %.2f BTC\n", pos.WalletAddress, pos.PositionSize)
}
}
Rust SDK
Könyvtár: smartmoney-api
Telepítés: cargo add smartmoney-api
use smartmoney_api::Client;
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = Client::new("sk_live_abc123xyz789");
// Bálnapozíciók lekérése
let positions = client
.whale_positions()
.symbol("BTCUSDT")
.limit(50)
.send()
.await?;
for position in positions.iter() {
println!(
"{}: {} BTC @ {}",
position.wallet_address,
position.position_size,
position.entry_price
);
}
Ok(())
}
Gyakori mintázatok
Hibakezelés
Minden SDK gazdag hibafajtákat biztosít automatikus újrapróbálkozási logikával. A hibák tartalmaznak státuszkódot, hibakódot és emberi nyelven olvasható üzenetet.
Kérés időtúllépés
Beállítható kérés időtúllépés (alapértelmezett 30s). Egyedi időtúllépés beállítása hosszú ideig futó műveletekhez.
Sávszélesség korlátozás kezelése
Automatikus exponenciális visszalépés sávszélesség korlátozás esetén. Figyelembe veszi a Retry-After fejlécet.