字
字节笔记本
2026年3月22日
NiceHash REST Clients:REST API 客户端工具包
NiceHash REST Clients 是 NiceHash 官方提供的公开 REST API 客户端工具包,基于 Java 语言开发。它为开发者提供了与 NiceHash 交易所 API 交互的标准化客户端,支持同步调用、异步回调和 WebSocket 实时通信三种使用方式,方便开发者快速构建加密货币交易相关的应用程序。
核心特性
- 支持同步和异步两种客户端调用模式
- 内置 WebSocket 客户端,支持实时订阅深度行情等事件
- 基于 OptionMap 配置模式,灵活设置 API 地址、密钥等参数
- Maven 项目结构,构建和集成简单
- 支持 Exchange 交易接口(查询交易记录、深度行情等)
技术栈
- 语言: Java
- 构建工具: Maven
- 平台: 跨平台(JVM)
- 许可: MIT
- Stars: 14+
安装方式
Maven 构建
sh
git clone https://github.com/nicehash/rest-clients.git
cd rest-clients
mvn clean install -DskipTests构建完成后,可将生成的 JAR 包作为项目依赖引入。
使用示例
同步客户端调用
java
OptionMap options = OptionMap.builder()
.set(Options.BASE_URL, "https://api-test.nicehash.com/exchange/")
.set(Options.KEY, "<KEY>")
.set(Options.SECRET, "<SECRET>")
.getMap();
ExchangeClientFactory factory = ExchangeClientFactory.newInstance(options);
ExchangeClient client = factory.newClient();
// 查询交易记录
List<Trade> trades = client.getMyTrades("LTCBTC");异步客户端调用
java
OptionMap options = OptionMap.builder()
.set(Options.BASE_URL, "https://api-test.nicehash.com/exchange/")
.set(Options.KEY, "<KEY>")
.set(Options.SECRET, "<SECRET>")
.getMap();
ExchangeClientFactory factory = ExchangeClientFactory.newInstance(options);
ExchangeClient client = factory.newClient();
client.getMyTrades("LTCBTC", 100, new AbstractClientCallback<List<Trade>>() {
@Override
public void onResponse(List<Trade> trades) {
System.out.println("Trades = " + trades);
}
});WebSocket 实时订阅
java
try (ExchangeWebSocketClient client = ExchangeClientFactory.newWebSocketClient(
"https://exchange-test.nicehash.com/ws")) {
client.onDepthEvent("LTCBTC", new AbstractClientCallback<DepthEvent>() {
@Override
public void onResponse(DepthEvent result) {
System.out.println("Result = " + result);
}
});
}分享: