字节笔记本

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);
        }
    });
}
分享: