# @covalenthq/client-sdk 中文文档

规范地址：https://npmcn.com/package/%40covalenthq/client-sdk/

版本：3\.0\.9
npm 元数据更新时间：2026-10-29T04:23:49.602Z
中文译文更新时间：2026-11-10T20:55:16.352Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40covalenthq/client-sdk
原文对照：https://npmcn.com/package/%40covalenthq/client-sdk/?lang=original
项目主页：https://goldrush.dev/docs/
源码仓库：https://github.com/covalenthq/goldrush-services-monorepo

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：776 kB，35 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2023-07-06T17:49:28.084Z
- 最新版本发布：2026-10-29T04:23:49.390Z
- 近 30 天下载量：28461（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：104（近 12 个月 13 个）

## 中文简介

用于GoldRush块链数据的TypeScript SDK API:钱包余额,交易,NFT以及跨60+链的价格.

## 安装

```sh
npm install @covalenthq/client-sdk
```

也可以使用：`pnpm add @covalenthq/client-sdk`、`yarn add @covalenthq/client-sdk`、`bun add @covalenthq/client-sdk`

## README

# 类型脚本的 GoldRush SDK

[![npm version](https://img.shields.io/npm/v/@covalenthq/client-sdk.svg)](https://www.npmjs.com/package/@covalenthq/client-sdk) [![npm downloads](https://img.shields.io/npm/dm/@covalenthq/client-sdk.svg)](https://www.npmjs.com/package/@covalenthq/client-sdk) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

脚本 SDK 类型 [黄金冲](https://goldrush.dev/) 块链数据 API. 钱包令牌 余额、交易历史、NFT持有量、历史价格、象征性批准和跨链 跨活动 [60+连锁店](https://goldrush.dev/chains/),主网和测试网,从一个 键入客户端.

```bash
npm install @covalenthq/client-sdk
```

> 使用方式 [`NodeJS v18`](https://nodejs.org/en) 或以上,以取得最佳结果.

> 需要 GoldRush API 键 。 您可以在 [GoldRush的网站](https://goldrush.dev/platform/apikey)

## 使用 SDK

1.  安装依赖关系
    
    ```bash
    npm install @covalenthq/client-sdk
    ```
    
2.  使用 `GoldRushClient`
    
    ```ts
    import { GoldRushClient, Chains } from "@covalenthq/client-sdk";
    
    const client = new GoldRushClient("<YOUR_API_KEY>");
    
    const ApiServices = async () => {
        try {
            const balanceResp =
                await client.BalanceService.getTokenBalancesForWalletAddress(
                    "eth-mainnet",
                    "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de"
                );
    
            if (balanceResp.error) {
                throw balanceResp;
            }
    
            console.log(balanceResp.data);
        } catch (error) {
            console.error(error);
        }
    };
    ```
    

```
The `GoldRushClient` can be configured with a second object argument, `settings`, and a third argument for `streamingConfig`. The settings offered are
1. **debug**: A boolean that enables server logs of the API calls, enhanced with the request URL, response time and code, and other settings. It is set as `false` by default.
2. **threadCount**: A number that sets the number of concurrent requests allowed. It is set as `2` by default.
3. **enableRetry**: A boolean that enables retrying the API endpoint in case of a `429 - rate limit` error. It is set as `true` by default.
4. **maxRetries**: A number that sets the number of retries to be made in case of `429 - rate limit` error. To be in effect, it requires `enableRetry` to be enabled. It is set as `2` by default.
5. **retryDelay**: A number that sets the delay in `ms` for retrying the API endpoint in case of `429 - rate limit` error. To be in effect, it requires `enableRetry` to be enabled. It is set as `1500` by default.
6. **source**: A string that defines the `source` of the request for better analytics. Predefined values include `"Ponder"`, `"GoldRush"`, and `"Viem"`, but any custom string is accepted.

The `streamingConfig` is optional and configures the real-time streaming service. The available options are:
1. **shouldRetry**: A function that determines whether to retry connection based on retry count. Defaults to retry up to 5 times.
2. **maxReconnectAttempts**: Maximum number of reconnection attempts. Defaults to `5`.
3. **onConnecting**: Callback function triggered when connecting to the streaming service.
4. **onOpened**: Callback function triggered when connection is successfully established.
5. **onClosed**: Callback function triggered when connection is closed.
6. **onError**: Callback function triggered when an error occurs.
```

## 特征

### 1\. 名称决议

GoldRush SDK 本地解析以下钱包地址

1.  ENS域(例如:. `demo.eth`(中文(简体) )
2.  伦斯·汉德勒斯(英语:Lens handles)(例如:. `demo.lens`(中文(简体) )
3.  不可阻挡域(如:. `demo.x`(中文(简体) )
4.  RNS域名( 如. `demo.ron`(中文(简体) )

### 2\. 查询参数

所有API 调用参数都可以通过 `typed objects` 作为查询参数.

举例来说,以下设定 `quoteCurrency` 查询参数到 `CAD` 参数 `nft` 改为 `true` 为钱包地址获取包括NFT在内的所有符号余额:

```ts
const resp = await client.BalanceService.getTokenBalancesForWalletAddress(
    "eth-mainnet",
    "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de",
    {
        quoteCurrency: "CAD",
        nft: true,
    }
);
```

### 3\. 出口类型

所有的东西 `interface`s 用于参数、查询参数和答复也从可用于自定义使用的软件包中导出.

例如,明确输入响应

```ts
import {
    GoldRushClient,
    type BalancesResponse,
    type BalanceItem,
} from "@covalenthq/client-sdk";

const resp = await client.BalanceService.getTokenBalancesForWalletAddress(
    "eth-mainnet",
    "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de",
    {
        quoteCurrency: "CAD",
        nft: true,
    }
);

const data: BalancesResponse = resp.data;
const items: BalanceItem[] = resp.data.items;
```

### 4\. 多链输入格式

SDK支持链式输入的下列格式:

1.  链名( 如 . `eth-mainnet`(中文(简体) )
2.  链式ID( 如. `1`(中文(简体) )
3.  链名 Enum( 例如). `ChainName.ETH_MAINNET`(中文(简体) )
4.  链式ID Enum(例如. `ChainID.ETH_MAINNET`(中文(简体) )

### 5\. 其他非经提名的方法

对于分解响应,GoldRush API最多可以支持每页100个项目. 然而,GoldRush SDK利用发电机 _无缝取取出所有项目而用户无需处理 pagination_。 。 。 .

例如,以下获取全部交易 `0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de` 在那之后

```ts
import { GoldRushClient } from "@covalenthq/client-sdk";

const ApiServices = async () => {
    const client = new GoldRushClient("<YOUR_API_KEY>");
    try {
        for await (const tx of client.TransactionService.getAllTransactionsForAddress(
            "eth-mainnet",
            "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de"
        )) {
            console.log("tx", tx);
        }
    } catch (error) {
        console.log(error.message);
    }
};
```

### 6\. 可执行 pagination 函数

采用加成方法后得到了改进 `next()` 财务报告和审定财务报表 `prev()` 支助职能。 这些功能有利于开发者通过我们 `links` 对象,包括 `prev` 财务报告和审定财务报表 `next` 字段。 而不是要求开发者手动提取这些字段的值并创建 JavaScript API 获取对 URL 值的调用, 新的 `next()` 财务报告和审定财务报表 `prev()` 函数提供了一种简化的方法,使开发者能够更高效地模拟这种行为.

```ts
import { GoldRushClient } from "@covalenthq/client-sdk";

const client = new GoldRushClient("<YOUR_API_KEY>");
const resp = await client.TransactionService.getAllTransactionsForAddressByPage(
    "eth-mainnet",
    "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de"
); // assuming resp.data.current_page is 10
if (resp.data !== null) {
    const prevPage = await resp.data.prev(); // will retrieve page 9
    console.log(prevPage.data);
}
```

### 7\. 功用功能

1.  **大内页**: 将输入格式化为 `bigint` 数值。 举个例子
    
    ```ts
    bigIntParser("-123"); // -123n
    ```
    
    您可以探索更多实例 [这里](https://npmcn.com/package/%40covalenthq/client-sdk/test/unit/bigint-parser.test.ts)
    
2.  **计算纯度**: 格式化为大而生的数字和大意为人友好的格式. 举个例子
    
    ```ts
    calculatePrettyBalance(1.5, 3, true, 4); // "0.0015"
    ```
    
    您可以探索更多实例 [这里](https://npmcn.com/package/%40covalenthq/client-sdk/test/unit/calculate-pretty-balance.test.ts)
    
3.  **是 ValidApiKey 键**:检查输入为有效的GoldRush API密钥. 举个例子
    
    ```ts
    isValidApiKey(cqt_wF123); // false
    ```
    
    您可以探索更多实例 [这里](https://npmcn.com/package/%40covalenthq/client-sdk/test/unit/is-valid-api-key.test.ts)
    
4.  **紧急情况**: 将大而生的数字和比值格式化为人类友好的货币格式. 举个例子
    
    ```ts
    prettifyCurrency(89.0, 2, "CAD"); // "CA$89.00"
    ```
    
    您可以探索更多实例 [这里](https://npmcn.com/package/%40covalenthq/client-sdk/test/unit/prettify-currency.test.ts)
    
5.  **时间戳**: 将 ISO 时间戳转换为各种可读格式
    
    ```ts
    timestampParser("2024-10-16T12:39:23.000Z", "descriptive"); // "October 16 2024 at 18:09:23"
    ```
    
    您可以探索更多实例 [这里](https://npmcn.com/package/%40covalenthq/client-sdk/test/unit/timestamp-parser.test.ts)
    

### 8\. 实时流动

GoldRush SDK现在支持通过WebSocket连接实时流出区块链数据. 这使得您可以订阅OHLCV(Open,High,Low, Close, Volume)的数据实时数据feed,用于交易对和符,新的DEX对创建,钱包活性等.

```ts
import {
    GoldRushClient,
    StreamingChain,
    StreamingInterval,
    StreamingTimeframe,
    StreamingProtocol,
} from "@covalenthq/client-sdk";

const client = new GoldRushClient(
    "<YOUR_API_KEY>",
    {},
    {
        onConnecting: () => console.log("Connecting to streaming service..."),
        onOpened: () => console.log("Connected to streaming service!"),
        onClosed: () => console.log("Disconnected from streaming service"),
        onError: (error) => console.error("Streaming error:", error),
    }
);

// Subscribe to OHLCV data for trading pairs
const unsubscribePairs = client.StreamingService.subscribeToOHLCVPairs(
    {
        chain_name: StreamingChain.BASE_MAINNET,
        pair_addresses: ["0x9c087Eb773291e50CF6c6a90ef0F4500e349B903"],
        interval: StreamingInterval.ONE_MINUTE,
        timeframe: StreamingTimeframe.ONE_HOUR,
    },
    {
        next: (data) => {
            console.log("Received OHLCV pair data:", data);
        },
        error: (error) => {
            console.error("Streaming error:", error);
        },
        complete: () => {
            console.log("Stream completed");
        },
    }
);

// Unsubscribe when done
// unsubscribePairs();

// Disconnect from streaming service when finished
// await client.StreamingService.disconnect();
```

#### 多次订阅

SDK在内部使用单通 WebSocket 客户端,允许您通过同一程序创建多个订阅 `GoldRushClient`。 。 。 .

```ts
// Create a single client
const client = new GoldRushClient("<YOUR_API_KEY>");

// Create multiple subscriptions through the same connection
const unsubscribePairs = client.StreamingService.subscribeToOHLCVPairs(
    {
        chain_name: StreamingChain.BASE_MAINNET,
        pair_addresses: ["0x9c087Eb773291e50CF6c6a90ef0F4500e349B903"],
        interval: StreamingInterval.ONE_MINUTE,
        timeframe: StreamingTimeframe.ONE_HOUR,
    },
    {
        next: (data) => console.log("OHLCV Pairs:", data),
    }
);

const unsubscribeTokens = client.StreamingService.subscribeToOHLCVTokens(
    {
        chain_name: StreamingChain.BASE_MAINNET,
        token_addresses: ["0x4B6104755AfB5Da4581B81C552DA3A25608c73B8"],
        interval: StreamingInterval.ONE_MINUTE,
        timeframe: StreamingTimeframe.ONE_HOUR,
    },
    {
        next: (data) => console.log("OHLCV Tokens:", data),
    }
);

const unsubscribeWallet = client.StreamingService.subscribeToWalletActivity(
    {
        chain_name: StreamingChain.BASE_MAINNET,
        wallet_addresses: ["0xbaed383ede0e5d9d72430661f3285daa77e9439f"],
    },
    {
        next: (data) => console.log("Wallet Activity:", data),
    }
);

// Unsubscribe from individual streams when needed
// unsubscribePairs();
// unsubscribeTokens();
// unsubscribeWallet();

// Or disconnect from all streams at once
// await client.StreamingService.disconnect();
```

#### 反应集成

对于反应应用程序,请使用 `useEffect` 连接到正确管理订阅生命周期 :

```tsx
useEffect(() => {
    const unsubscribe = client.StreamingService.rawQuery(
        `subscription {
        ohlcvCandlesForPair(
          chain_name: BASE_MAINNET
          pair_addresses: ["0x9c087Eb773291e50CF6c6a90ef0F4500e349B903"],
          interval: StreamingInterval.ONE_MINUTE,
          timeframe: StreamingTimeframe.ONE_HOUR,
        ) {
          open
          high
          low
          close
          volume
          quote_rate
          volume_usd
          chain_name
          pair_address
          interval
          timeframe
          timestamp
        }
      }`,
        {},
        {
            next: (data) => console.log("Received streaming data:", data),
            error: (err) => console.error("Subscription error:", err),
            complete: () => console.info("Subscription completed"),
        }
    );

    // Cleanup function - unsubscribe when component unmounts
    return () => {
        unsubscribe();
    };
}, []);
```

#### 原始查询

也可以使用原始 GraphQL 查询来进行更精简和选择性的数据假设:

```ts
const unsubscribeNewPairs = client.StreamingService.rawQuery(
    `subscription {
       newPairs(
         chain_name: BASE_MAINNET,
         protocols: [UNISWAP_V2, UNISWAP_V3]
       ) {
         chain_name
         protocol
         pair_address
         tx_hash
         liquidity
         base_token {
           contract_name
           contract_ticker_symbol
         }
         quote_token {
           contract_name
           contract_ticker_symbol
         }
       }
     }`,
    {},
    {
        next: (data) => console.log("Raw new pairs data:", data),
        error: (error) => console.error("Error:", error),
    }
);

// Raw query for token OHLCV data
const unsubscribeTokenOHLCV = client.StreamingService.rawQuery(
    `subscription {
      ohlcvCandlesForToken(
        chain_name: BASE_MAINNET
        token_addresses: ["0x4B6104755AfB5Da4581B81C552DA3A25608c73B8"]
        interval: ONE_MINUTE
        timeframe: ONE_HOUR
      ) {
        open
        high
        low
        close
        volume
        volume_usd
        quote_rate
        quote_rate_usd
        timestamp
        base_token {
          contract_name
          contract_ticker_symbol
        }
      }
    }`,
    {},
    {
        next: (data) => console.log("Raw token OHLCV data:", data),
        error: (error) => console.error("Error:", error),
    }
);
```

### 9\. 标准化(错误)对策

所有答复都采用相同的标准格式

```ts
❴
    "data": <object>,
    "error": <boolean>,
    "error_message": <string>,
    "error_code": <number>
❵
```

## 支持的终点

GoldRush SDK向所有A级、B级和定价终点提供全面支持,分类如下: _服务_ 命名空间 :

1\. 联合国. **所有链条服务**:通过多个链条和地址获取数据.

-   `getAddressActivity(walletAddress: string, queryParamOpts?: GetAddressActivityQueryParamOpts): Promise<GoldRushResponse<ChainActivityResponse>>`: 通常用于定位地址正在激活的链条, 并使用单个 API 调用 .
-   `getMultiChainMultiAddressTransactions(queryParamOpts?: GetMultiChainMultiAddressTransactionsParamOtps): Promise<GoldRushResponse<MultiChainMultiAddressTransactionsResponse>>`:获取最多10个EVM地址和10个EVM链的相接交易,并有一个API呼叫. 用于构建活动种子 .
-   `getMultiChainBalances(walletAddress: string, queryParamOpts?: GetMultiChainBalanceQueryParamOpts): Promise<GoldRushResponse<MultiChainBalanceResponse>>`:为最多10个EVM链上的单个地址取出相接点和历史原生和代号余额,并附带一个API呼叫.

2\. 联合国. **警卫人员**: 访问令牌批准 API 端点

-   `getApprovals(chainName: Chain, walletAddress: string): Promise<GoldRushResponse<ApprovalsResponse>>`:通常用于获得所有象征性合同的核准清单,这些合同由支出者分类为钱包资产.

3个. **余额服务**: 获取余额终点

-   `getTokenBalancesForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetTokenBalancesForWalletAddressQueryParamOpts): Promise<GoldRushResponse<BalancesResponse>>`:通常用于取取一个地址所持有的本地和可替换(ERC20)的代币. 答复包括现货价格和其他元数据.
-   `getHistoricalTokenBalancesForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetHistoricalTokenBalancesForWalletAddressQueryParamOpts): Promise<GoldRushResponse<HistoricalBalancesResponse>>`: 通常用于获取某个地址在特定块高地或日期所持有的历史原生和可替换(ERC20)的符号. 答复包括每日价格和其他元数据.
-   `getHistoricalPortfolioForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetHistoricalPortfolioForWalletAddressQueryParamOpts): Promise<GoldRushResponse<PortfolioResponse>>`:通常用于为按符号细分的地址制作每日组合余额. 时间框架为用户配置,默认为30天.
-   `getErc20TransfersForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts: GetErc20TransfersForWalletAddressQueryParamOpts): AsyncIterable<GoldRushResponse<Erc20TransfersResponse>>`: 通常用于将一个信使与地址的历史价格一起进行转出和转出。 (已提名)
-   `getErc20TransfersForWalletAddressByPage(chainName: Chain, walletAddress: string, queryParamOpts: GetErc20TransfersForWalletAddressQueryParamOpts): Promise<GoldRushResponse<Erc20TransfersResponse>>`: 通常用于将一个信使与地址的历史价格一起进行转出和转出。 (无标签)
-   `getTokenHoldersV2ForTokenAddress(chainName: Chain, tokenAddress: string, queryParamOpts?: GetTokenHoldersV2ForTokenAddressQueryParamOpts): AsyncIterable<GoldRushResponse<TokenHoldersResponse>>`: 用于为指定的ERC20或ERC721令牌获得当前或历史令牌持有人的平面列表. (已提名)
-   `getTokenHoldersV2ForTokenAddressByPage(chainName: Chain, tokenAddress: string, queryParamOpts?: GetTokenHoldersV2ForTokenAddressQueryParamOpts): Promise<GoldRushResponse<TokenHoldersResponse>>`: 用于为指定的ERC20或ERC721令牌获得当前或历史令牌持有人的平面列表. (无标签)
-   `getNativeTokenBalance(chainName: Chain, walletAddress: string, queryParamOpts?: GetNativeTokenBalanceQueryParamOpts): Promise<GoldRushResponse<TokenBalanceNativeResponse>>`:轻量级端点,只为 EVM 地址获得本地的符号平衡.

4.四. **基地服务**: 访问地址活动、日志事件、链条状态和块检索端点

-   `getBlock(chainName: Chain, blockHeight: string): Promise<GoldRushResponse<BlockResponse>>`:通常用于为块探险者取取出并制取出单个块.
-   `getLogs(chainName: Chain, queryParamOpts?: GetLogsQueryParamOpts): Promise<GoldRushResponse<GetLogsResponse>>`:通常用于获取最新块的所有事件日志,或用于一系列块. 包括发送方合同元数据以及解码日志.
-   `getResolvedAddress(chainName: Chain, walletAddress: string): Promise<GoldRushResponse<ResolvedAddress>>`:通常用于解析ENS,RNS和不可阻止域地址. 只支持对地址的注册域进行解析.
-   `getBlockHeights(chainName: Chain, startDate: string, endDate: string | "latest", queryParamOpts?: GetBlockHeightsQueryParamOpts): AsyncIterable<GoldRushResponse<BlockHeightsResponse>>`:通常用于得到特定日期范围内的所有块高. 用于进行显示, 每天排序块 。 (已提名)
-   `getBlockHeightsByPage(chainName: Chain, startDate: string, endDate: string | "latest", queryParamOpts?: GetBlockHeightsQueryParamOpts): Promise<GoldRushResponse<BlockHeightsResponse>>`:通常用于得到特定日期范围内的所有块高. 用于进行显示, 每天排序块 。 (无标签)
-   `getLogEventsByAddress(chainName: Chain, contractAddress: string, queryParamOpts?: GetLogEventsByAddressQueryParamOpts): AsyncIterable<GoldRushResponse<LogEventsByAddressResponse>>`: 通常用于获取特定合同地址中排放的所有事件日志。 用于建造审查链上相互作用的仪表板。 (已提名)
-   `getLogEventsByAddressByPage(chainName: Chain, contractAddress: string, queryParamOpts?: GetLogEventsByAddressQueryParamOpts): Promise<GoldRushResponse<LogEventsByAddressResponse>>`: 通常用于获取特定合同地址中排放的所有事件日志。 用于建造审查链上相互作用的仪表板。 (无标签)
-   `getLogEventsByTopicHash(chainName: Chain, topicHash: string, queryParamOpts?: GetLogEventsByTopicHashQueryParamOpts): AsyncIterable<GoldRushResponse<LogEventsByTopicHashResponse>>`:通常用于获取同一主题散列的所有事件日志,涵盖特定链条内的所有合同. 可用于对链上排放的事件日志进行跨部门分析。 (已提名)
-   `getLogEventsByTopicHashByPage(chainName: Chain, topicHash: string, queryParamOpts?: GetLogEventsByTopicHashQueryParamOpts): Promise<GoldRushResponse<LogEventsByTopicHashResponse>>`:通常用于获取同一主题散列的所有事件日志,涵盖特定链条内的所有合同. 可用于对链上排放的事件日志进行跨部门分析。 (无标签)
-   `getAllChains(): Promise<GoldRushResponse<AllChainsResponse>>`:通常用于为GoldRush上所有支持的链条建造内部仪表板.
-   `getAllChainStatus(): Promise<GoldRushResponse<AllChainStatusResponse>>`:通常用于构建所有被支持链条的内部状态仪表板.
-   `getGasPrices(chainName: Chain, eventType: "erc20" | "nativetokens" | "uniswapv3", queryParamOpts?: GetGasPricesQueryParamOpts): Promise<GoldRushResponse<GasPricesResponse>>`:获取特定网络上不同交易速度的实时气体估计,使用户能够优化交易成本和确认时间.

5 (韩语). **比特币服务**: 访问 Bitcoin 钱包端点

-   `getBitcoinHdWalletBalances(walletAddress: string, queryParamOpts?: GetBitcoinHdWalletBalancesQueryParamOpts): Promise<GoldRushResponse<BitcoinHdWalletBalancesResponse>>`:通常用于获取地址在特定块高地或日期所保持的历史比特币平衡. 答复包括每日价格和其他元数据.
-   `getBitcoinNonHdWalletBalances(walletAddress: string, queryParamOpts?: GetBitcoinNonHdWalletBalancesQueryParamOpts): Promise<GoldRushResponse<BalancesResponse>>`:获取非HD地址的比特币平衡. 答复包括现货价格和其他元数据.
-   `getTransactionsForBtcAddress(queryParamOpts?: GetTransactionsForBitcoinAddressParamOpts): Promise<GoldRushResponse<BitcoinTransactionResponse>>`:曾获取比特币非HD钱包地址的全部交易历史.

6\. 国家. **NFT 服务**: 访问 NFT 端点

-   `getNftsForAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetNftsForAddressQueryParamOpts): Promise<GoldRushResponse<NftAddressBalanceNftResponse>>`:通常用于制作地址所持有的NFT(包括ERC721和ERC1155).
-   `checkOwnershipInNft(chainName: Chain, walletAddress: string, collectionContract: string, queryParamOpts?: CheckOwnershipInNftQueryParamOpts): Promise<GoldRushResponse<NftOwnershipForCollectionResponse>>`:通常用于验证收藏中NFT(包括ERC-721和ERC-1155)的所有权.
-   `checkOwnershipInNftForSpecificTokenId(chainName: Chain, walletAddress: string, collectionContract: string, tokenId: string): Promise<GoldRushResponse<NftOwnershipForCollectionResponse>>`:通常用于验证藏品中某一个特定代币(ERC-721或ERC-1155)的所有权.

7\. 联合国. **定价处**: 访问历史象征性价格终点

-   `getTokenPrices(chainName: Chain, quoteCurrency: Quote, contractAddress: string, queryParamOpts?: GetTokenPricesQueryParamOpts): Promise<GoldRushResponse<TokenPricesResponse[]>>`: 在指定的日期范围之间获取一个(或多个)大封顶ERC20令牌的历史价格. 也支持出土地标.
-   `getPoolSpotPrices(chainName: Chain, contractAddress: string, queryParamOpts?: PoolSpotPriceQueryParamsOpts): Promise<GoldRushResponse<PoolSpotPricesResponse[]>>`: 获取指定池合同地址的点标对价。 支持Uniswap V2,V3及其叉上的池.

8\. 联合国. **交易处**: 访问交易终点

-   `getAllTransactionsForAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetAllTransactionsForAddressQueryParamOpts): AsyncIterable<GoldRushResponse<RecentTransactionsResponse>>`:通常用于获取和制作涉及地址的最新交易。 在钱包应用程序中经常看到. (已提名)
-   `getAllTransactionsForAddressByPage(chainName: Chain, walletAddress: string, queryParamOpts?: GetAllTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<RecentTransactionsResponse>>`:通常用于获取和制作涉及地址的最新交易。 在钱包应用程序中经常看到. (无标签)
-   `getPaginatedTransactionsForAddress(chainName: Chain, walletAddress: string, page: number, queryParamOpts?: getPaginatedTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<TransactionsResponse>>`: 通常用来获取涉及地址的交易, 包括解码的日志事件.
-   `getTransaction(chainName: Chain, txHash: string, queryParamOpts?: GetTransactionQueryParamOpts): Promise<GoldRushResponse<TransactionResponse>>`: 用于获取和制作单项交易,包括其已解码的事件日志。 对于基础链,也可以检索内部交易,状态变化和可用的方法ID.
-   `getTransactionsForBlockByPage(chainName: Chain, blockHeight: number | string | "latest", page: number, queryParamOpts?: getTransactionsForBlockByPageQueryParamOpts): Promise<GoldRushResponse<TransactionsBlockResponse>>`:通常用于获取所有交易,包括在块中被解码的日志事件,并进一步标出有趣的钱包或交易.
-   `getTransactionsForBlock(chainName: Chain, blockHash: string, queryParamOpts?: getTransactionsForBlockByPageQueryParamOpts): Promise<GoldRushResponse<TransactionsForBlockResponse>>`:通常用于获取所有交易,包括在块中被解码的日志事件,并进一步标出有趣的钱包或交易.
-   `getTransactionSummary(chainName: Chain, walletAddress: string, queryParamOpts?: GetTransactionSummaryQueryParamOpts): Promise<GoldRushResponse<TransactionsSummaryResponse>>`: 用于获取最早和最新的交易,交易数为钱包. 此外,还丰富了天然气支出细节和ERC20代币转移总额.
-   `getTimeBucketTransactionsForAddress(chainName: Chain, walletAddress: string, timeBucket: number, queryParamOpts?: GetTimeBucketTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<TransactionsTimeBucketResponse>>`:通常用于获取所有交易,包括它们在15分钟时间桶间隔内解码的日志事件.
-   `getEarliestTransactionsForAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetEarliestTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<EarliestTransactionsForAddressResponse>>`:通常用于获取和进行涉及地址的最早交易。 在钱包应用程序中经常看到.

9\. 国家. **流动事务**: 通过 WebSocket 连接实时区块链数据流

-   `getClient(): Client`: 获取基本GraphQL WebSocket客户端直接访问.
-   `isConnected: boolean`:检查流线服务连接状态.
-   `subscribeToOHLCVPairs(params: OHLCVPairsStreamParams, callbacks: StreamSubscriptionOptions<OHLCVPairsStreamResponse[]>): UnsubscribeFunction`: 订阅特定交易配对的实时OHLCV(Open,High,Low,Close,Volume)数据. 支持多链和可配置间隔和时间段.
-   `subscribeToOHLCVTokens(params: OHLCVTokensStreamParams, callbacks: StreamSubscriptionOptions<OHLCVTokensStreamResponse[]>): UnsubscribeFunction`: 订阅实时 OHLCV(Open, High, Low, Close, Volume)数据,用于特定符. 跟踪其主要DEX集合的象征性价格,并设定可配置的间隔和时限.
-   `subscribeToWalletActivity(params: WalletActivityStreamParams, callbacks: StreamSubscriptionOptions<WalletActivityStreamResponse[]>): UnsubscribeFunction`:订阅实时钱包活动,包括交易,令牌转让,以及智能合同互动. 为互换,转让,桥梁,存款,提款,审批提供解码交易细节.
-   `subscribeToNewPairs(params: NewPairsStreamParams, callbacks: StreamSubscriptionOptions<NewPairsStreamResponse[]>): UnsubscribeFunction`: 在所支持的分散交换机(DEXes)上创建新的流动性对时订阅实时通知。 支持Uniswap V2/V3跨基站,Ethereum,和BSC网络.
-   `subscribeToUpdatePairs(params: UpdatePairsStreamParams, callbacks: StreamSubscriptionOptions<UpdatePairsStreamResponse>): UnsubscribeFunction`: 订阅特定交易对数的实时更新,包括报价率,量,流动性数据,价格三角洲,和互换计数.
-   `rawQuery<T = Array<object>>(query: string, variables: Record<string, unknown>, callbacks: StreamSubscriptionOptions<T>): UnsubscribeFunction`: 执行自定义的 GraphQL 订阅查询,用于高级流化情景和未来扩展性.
-   `searchToken(params: TokenSearchParams): Promise<TokenSearchResponse[]>`:通过关键词,勾选符或合同地址来搜索令牌. 可选通过链式过滤.
-   `getUPnLForToken(params: UPnLForTokenParams): Promise<UPnLForTokenResponse[]>`: 获取顶端交易商钱包及其已实现/未实现的 PnL 以获取特定符号 .
-   `getUPnLForWallet(params: UPnLForWalletParams): Promise<UPnLForWalletResponse[]>`: 以钱包所持所有信物实现和未实现 PnL .
-   `disconnect(): Promise<void>`: 适当断开接流服务.

## 捐款

欢迎发言、问题和特稿请求! 随便你看看 [问题](https://github.com/covalenthq/goldrush-services-monorepo/issues) 页 次.

## 显示您的支持

如果这个计划能帮助你的话,就给你一个!

## 许可证

这个项目是 [阿帕奇 - 2.0](https://npmcn.com/package/%40covalenthq/client-sdk/LICENSE) 有执照.

## 常见问题

### @covalenthq/client-sdk 是什么？

用于GoldRush块链数据的TypeScript SDK API:钱包余额,交易,NFT以及跨60\+链的价格\.

### 如何安装 @covalenthq/client-sdk？

在项目目录运行 npm install @covalenthq/client-sdk，或使用 pnpm add / yarn add / bun add。

### @covalenthq/client-sdk 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @covalenthq/client-sdk 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @covalenthq/client-sdk 可以商用吗？

@covalenthq/client-sdk 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @covalenthq/client-sdk 的下载量有多少？

根据 npm 官方下载统计，@covalenthq/client-sdk 在 2026/10/11 – 2026/11/09 这 30 天内被下载 28,461 次，日均约 949 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @covalenthq/client-sdk 还在维护吗？

最新版本 3\.0\.9 发布于 2026/10/29（12 天前）；至今共发布 104 个版本，其中过去 12 个月发布了 13 个；首次发布于 2023/07/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

