# exchange-sdk **Repository Path**: silently9527/exchange-sdk ## Basic Information - **Project Name**: exchange-sdk - **Description**: 作为长期混迹在合约市场的老韭菜来说,已不能满足与手动下单来亏钱,必须得通过脚本来加速,为了达到这个目的就产生了项目。目前封装的主要是合约的API接口,不支持现货交易。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-08-16 - **Last Updated**: 2024-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

公众号 掘金 CSDN 开源中国 知乎

# ExchangeSdk 作为长期混迹在合约市场的老韭菜来说,已不能满足与手动下单来亏钱,必须得通过脚本来加速,为了达到这个目的就产生了项目。目前封装的主要是合约的API接口,不支持现货交易。 ## 知识星球: [Herman's Notes](https://t.zsxq.com/h2EIR) 加微信silently9527, 免费加入知识星球;欢迎加入进来一起交流使用脚本快速亏钱秘诀 ## Features 1. 抽象出了交易所合约的通用接口 2. 支持的交易所:binance, okex, kucoin 3. 支持 Rest接口 和 WebSocket ## How to install 1. 克隆下仓库代码执行`mvn install` 2. maven依赖添加到自己的项目 ```xml org.herman exchange-sdk 1.0-SNAPSHOT ``` ## How to use - `FutureRestApiClient`: 主要抽象出了合约的RestApi接口 - `FutureSubscriptionClient`: 主要抽象出了合约的WebSocket接口 - `FutureApiInternalFactory`: 封装了创建各个交易所FutureRestApiClient和FutureSubscriptionClient的工具类 #### Examples 1. 使用rest接口查询出Binance的标记价格 ```java final FutureRestApiClient restApiClient = FutureApiInternalFactory .getInstance() .createBinanceFutureRestApiClient(Constants.Future.BINANCE_REST_API_BASE_URL, "xxx", "xxx"); final List markPrice = restApiClient.getMarkPrice("BTCUSDT"); System.out.println(markPrice); ``` 输出: ``` [MarkPrice[symbol=BTCUSDT,markPrice=57738.69215152,time=1723775413000]] ``` 2. 使用WebSocket监听Binance的标记价格 ```java final FutureSubscriptionClient subscriptionClient = FutureApiInternalFactory .getInstance() .createBinanceFutureSubscriptionClient(Constants.Future.BINANCE_WS_API_BASE_URL, "xxx", "xxx"); subscriptionClient.subscribeMarkPriceEvent("BTCUSDT", markPriceEvent -> { //订阅成功后的回调 System.out.println(markPriceEvent); }, e -> { //异常后的执行逻辑 e.printStackTrace(); } ); ``` ## 博客地址 [https://herman7z.site](https://herman7z.site) ![知识星球](https://raw.githubusercontent.com/silently9527/images/main/202408151725390.png)