کتابخانههای رسمی SDK
کتابخانههای رسمی کلاینت برای پایتون، جاوااسکریپت، گو و راست. یکپارچهسازی API را با کلاینتهای تایپشده، منطق تلاش مجدد خودکار و پشتیبانی از WebSocket ساده کنید.
SDK پایتون
پکیج: smartmoney-api
نصب: pip install smartmoney-api
مخزن: github.com/smartmoneyapi/python-client
from smartmoney import SmartMoneyAPI
# Initialize client
client = SmartMoneyAPI(api_key="sk_live_abc123xyz789")
# Get whale positions
whales = client.whale_positions(symbol="BTCUSDT", limit=50)
for position in whales:
print(f"{position.wallet_address}: {position.position_size} BTC @ {position.entry_price}")
# Get funding rates
funding = client.funding_rates(symbol="BTCUSDT", interval="4h", limit=24)
# Stream live updates
with client.stream_whale_positions(["BTCUSDT", "ETHUSDT"]) as stream:
for update in stream:
print(f"Position update: {update}")
ویژگیها
- پشتیبانی از async/await (asyncio, aiohttp)
- تلاش مجدد خودکار با backoff نمایی
- استریم WebSocket با اتصال مجدد خودکار
- تایپ هینتها و تکمیل خودکار IDE
- لاگگیری و دیباگ درخواستها
SDK جاوااسکریپت
پکیج: smartmoney-api
نصب: npm install smartmoney-api
مخزن: github.com/smartmoneyapi/js-client
import { SmartMoneyAPI } from "smartmoney-api";
const client = new SmartMoneyAPI({
apiKey: "sk_live_abc123xyz789"
});
// Get whale positions
const whales = await client.whalePositions({
symbol: "BTCUSDT",
limit: 50
});
whales.positions.forEach(pos => {
console.log(`${pos.wallet_address}: ${pos.position_size} BTC`);
});
// Stream real-time updates
const stream = client.streamWhalePositions(["BTCUSDT", "ETHUSDT"]);
stream.on("data", (update) => {
console.log("Position update:", update);
});
stream.on("error", (err) => {
console.error("Stream error:", err);
});
SDK گو
ماژول: github.com/smartmoneyapi/go-client
نصب: go get github.com/smartmoneyapi/go-client
package main
import (
"fmt"
"github.com/smartmoneyapi/go-client"
)
func main() {
// Create client
client := smartmoney.NewClient("sk_live_abc123xyz789")
// Get whale positions
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)
}
}
SDK راست
کریت: smartmoney-api
نصب: cargo add smartmoney-api
use smartmoney_api::Client;
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = Client::new("sk_live_abc123xyz789");
// Get whale positions
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(())
}
الگوهای رایج
مدیریت خطا
تمامی SDKها انواع خطاهای غنی با منطق تلاش مجدد خودکار ارائه میدهند. خطاها شامل کد وضعیت، کد خطا و پیام قابل فهم برای انسان هستند.
تایماوت درخواست
تایماوتهای قابل تنظیم برای درخواستها (پیشفرض 30 ثانیه). تایماوتهای سفارشی برای عملیات طولانیمدت تنظیم کنید.
مدیریت محدودیت نرخ
backoff نمایی خودکار هنگام برخورد با محدودیت نرخ. از هدر Retry-After پیروی میکند.
SDK مورد نظر خود را انتخاب کنید
با زبان مورد نظر خود شروع کنید. مستندات کامل و مثالها موجود است.
مشاهده مرجع API