Petrovich Penki

公開されている暗号資産市場APIは、価格トラッカー、リサーチツール、ダッシュボード、取引実験の構築に役立ちます。このチュートリアルでは、APIキーや外部パッケージなしでPythonを使ってXT.com現物市場のティッカーデータを取得する方法を説明します。

この実験は、取引所を調査し、XTGuide.com向けに独立したチュートリアルを準備する中で作成されました。

作成するもの

以下の機能を持つ小さなコマンドラインスクリプトを作成します。

  • XT.comの公開ティッカーエンドポイントに接続する
  • btc_usdt などの取引ペアを受け付ける
  • 公開市場データを取得する
  • レスポンスをフォーマットされたJSONとして出力する
  • 基本的なネットワークエラーを処理する

この例では公開されている市場情報のみをリクエストするため、XT.comアカウントやプライベートAPI認証情報は必要ありません。

Pythonコード

xt_ticker.py という新しいファイルを作成し、以下のコードを追加してください。

import json
import sys
from urllib.parse import urlencode
from urllib.request import Request, urlopen
from urllib.error import HTTPError, URLError

API_URL = "https://sapi.xt.com/v4/public/ticker"


def get_ticker(symbol: str) -> dict:
    query = urlencode({"symbol": symbol.lower()})
    request = Request(
        f"{API_URL}?{query}",
        headers={"User-Agent": "xt-market-data-python/1.0"},
    )

    with urlopen(request, timeout=10) as response:
        return json.load(response)


def main():
    symbol = sys.argv[1] if len(sys.argv) > 1 else "btc_usdt"

    try:
        ticker = get_ticker(symbol)
        print(json.dumps(ticker, indent=2))
    except (HTTPError, URLError, TimeoutError) as error:
        print(f"Unable to retrieve ticker data: {error}")
        sys.exit(1)if __name__ == "__main__":
    main()

Enter fullscreen mode Exit fullscreen mode

スクリプトの実行

このプロジェクトにはPython 3.9以降が必要です。Python標準ライブラリのモジュールを使用するため、外部依存関係は必要ありません。

スクリプトを実行するには:

python xt_ticker.py btc_usdt

Enter fullscreen mode Exit fullscreen mode

別の取引ペアをリクエストするには、シンボルを置き換えてください:

python xt_ticker.py eth_usdt

Enter fullscreen mode Exit fullscreen mode

シンボルが指定されない場合、スクリプトはデフォルトで btc_usdt を使用します。

仕組み

urlencode() 関数は、選択したシンボルを有効なクエリパラメータに変換します。プログラムはその後、この公開エンドポイントにGETリクエストを送信します。

https://sapi.xt.com/v4/public/ticker?symbol=btc_usdt

Enter fullscreen mode Exit fullscreen mode

返されたJSONはPython辞書に変換され、読みやすい形式で出力されます。

取引ペアは通常、ベース資産とクォート資産で構成されます。たとえば btc_usdt の場合、BTCがベース資産、USDTがクォート資産です。この独立した XT.com現物取引ガイド では、取引ペア、現物注文、一般的な取引プロセスの非技術的な説明が提供されています。

エラーハンドリング

タイムアウトにより、ネットワークやAPIが利用できない場合にアプリケーションが無期限に待機することを防ぎます。また、スクリプトは基本的なHTTPエラーや接続エラーをキャッチし、読みやすいエラーメッセージを返します。

本番環境向けのバージョンには、以下の機能も追加できます。

  • 自動リトライ
  • レスポンス検証
  • リクエストログ記録
  • ローカルキャッシュ
  • レート制限処理
  • 複数シンボル対応

可能なプロジェクトアイデア

この例は以下のように拡張できます。

  • 暗号資産価格ダッシュボード
  • ターミナルベースの市場モニター
  • 取引ペア比較ツール
  • 過去データ収集ツール
  • 価格アラートアプリケーション
  • ポートフォリオリサーチノートブック

ポートフォリオトラッカーを作成する場合、最終的には市場価格と同時に入出金を記録したい場合があります。この XT.com出金ガイド では、出金ネットワーク、手数料、制限、ユーザー視点での一般的な送金ミスについて説明しています。

セキュリティに関する注意

公開市場エンドポイントはプライベート認証情報を必要としません。後で認証が必要なアカウント機能や取引機能を追加する場合は、APIキーをコードや公開GitHubリポジトリに直接記述しないでください。

機密性の高い認証情報は保護された環境変数に保存し、APIキーの権限は可能な限り制限してください。

追加リソース

エンドポイントパラメータとレスポンスの詳細は、公式XT.comティッカーAPIドキュメント で確認できます。

結論

公開ティッカーエンドポイントは、暗号資産市場データを試すためのシンプルな出発点です。わずか数行のPythonで公開情報を取得し、より高度なリサーチやダッシュボードプロジェクトの基盤として活用できます。