# @babylonlabs-io/babylon-proto-ts 中文文档

规范地址：https://npmcn.com/package/%40babylonlabs-io/babylon-proto-ts/

版本：1\.23\.1
npm 元数据更新时间：2026-08-24T14:05:54.771Z
中文译文更新时间：2026-11-07T13:49:09.958Z
软件包许可：ISC

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

原始 npm 页面：https://www.npmjs.com/package/%40babylonlabs-io/babylon-proto-ts
原文对照：https://npmcn.com/package/%40babylonlabs-io/babylon-proto-ts/?lang=original
项目主页：https://github.com/babylonlabs-io/babylon-toolkit#readme
源码仓库：https://github.com/babylonlabs-io/babylon-toolkit

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

- 包体积（解压后）：4.7 MB，215 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：4 个
- 首次发布：2024-10-17T14:48:42.495Z
- 最新版本发布：2026-08-21T11:34:33.325Z
- 近 30 天下载量：715237（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：51（近 12 个月 5 个）

## 中文简介

![Babylon Logo](https://github.com/user-attachments/assets/dc74271e-90f1-44bd-9122-2b7438ab375c)

### @babylonlabs-io/babylon-proto-ts (英语)

巴比伦比特币取走

## 安装

```sh
npm install @babylonlabs-io/babylon-proto-ts
```

也可以使用：`pnpm add @babylonlabs-io/babylon-proto-ts`、`yarn add @babylonlabs-io/babylon-proto-ts`、`bun add @babylonlabs-io/babylon-proto-ts`

## README

![Babylon Logo](https://github.com/user-attachments/assets/dc74271e-90f1-44bd-9122-2b7438ab375c)

### @babylonlabs-io/babylon-proto-ts (英语)

巴比伦比特币采集协议

**类型脚本** 图书馆

[![npm version](https://badge.fury.io/js/babylon-proto-ts.svg)](https://www.npmjs.com/package/@babylonlabs-io/babylon-proto-ts)

  

## \* 安装

```console
npm i @babylonlabs-io/babylon-proto-ts
```

## QQ 快速启动

这个库为"巴比伦比特币取景协议"提供TypeScript绑定,既提供低等原生出品出口,也提供高等客户抽象.

### 基本用途

使用 SDK 访问客户端、 信件和公用事业 :

```typescript
import { createBabylonSDK } from "@babylonlabs-io/babylon-proto-ts";

const sdk = createBabylonSDK({ rpcUrl: "https://babylon-rpc.example.com" });

// Connect the client
await sdk.connect();

// Query BTC staking rewards for an address
const btcRewards = await sdk.client.getRewardsForBTCStaking("bbn1...");

// Query BABY staking delegations and rewards
const delegations = await sdk.client.getBabyStakingDelegations("bbn1...");
const babyRewards = await sdk.client.getRewardsForBABYStaking("bbn1...");

// Get all validators
const validators = await sdk.client.getValidators();

// Query balance
const balance = await sdk.client.getBalance("bbn1...", "ubbn");

// Get Bitcoin tip height
const btcTipHeight = await sdk.client.getBTCTipHeight();
```

### 钱包整合

对于需要创建和签署交易的应用程序,使用所提供的登记和氨基类型:

```typescript
import { createBabylonSDK } from "@babylonlabs-io/babylon-proto-ts";
import { SigningStargateClient } from "@cosmjs/stargate";

const sdk = createBabylonSDK({ rpcUrl: "https://babylon-rpc.example.com" });

// Create signing client with Babylon support
const client = await SigningStargateClient.connectWithSigner(
  rpc,
  offlineSigner as OfflineSigner,
  {
    registry: sdk.utils.createRegistry(),
    aminoTypes: sdk.utils.createAminoTypes(),
  },
);

// BTC Staking: Withdraw BTC staking rewards message
const btcWithdrawMsg =
  sdk.messages.createWithdrawRewardForBTCStakingMsg("bbn1...");

// BABY Staking: Stake BABY tokens message
const stakeMsg = sdk.messages.createStakeBABYMsg(
  "bbn1...", // delegator address
  "bbnvalidator...", // validator address
  { denom: "ubbn", amount: "1000000" }, // 1 BBN
);

// BABY Staking: Withdraw BABY staking rewards message
const withdrawMsg = sdk.messages.createWithdrawRewardForBABYStakingMsg(
  "bbn1...",
  "bbnvalidator...",
);
```

### 直接 Protobuf 访问

对于高级用途,您可以直接导入原型:

```typescript
import { btcstaking, incentivequery } from "@babylonlabs-io/babylon-proto-ts"

// Use protobuf types directly
const stakingParams = btcstaking.Params.fromPartial({...})
const rewardQuery = incentivequery.QueryRewardGaugesRequest.fromPartial({...})
```

## API 参考

### SDK 函数

#### `createBabylonSDK(config: BabylonConfig): BabylonSDK`

创建全面的 SDK 实例,其中包含客户端,消息和公用设施.

-   **参数:**
    -   `config.rpcUrl`: 巴比伦网络的 RPC 端点 URL
-   **回返情况:** SDK 对象 `client`, (中文(简体) ), `messages`, (中文(简体) ), `utils`,以及 `connect()` 方法

### SDK 方法

#### `sdk.connect(): Promise<void>`

初始化客户端连接到巴比伦网络.

### 客户方法(通过sdk.客户端)

#### `sdk.client.getRewardsForBTCStaking(address: string): Promise<number>`

获取给定地址的 BTC 奖励总额 .

-   **参数:**
    -   `address`: 要查询的巴比伦地址
-   **回返情况:** BTC奖金总额(数目)

#### `sdk.client.getBalance(address: string, denom?: string): Promise<number>`

获得地址特定符号的余额.

-   **参数:**
    -   `address`: 要查询的巴比伦地址
    -   `denom`: 托肯面额(默认为 `"ubbn"`(中文(简体) )
-   **回返情况:** 余额(数目)

#### `sdk.client.getBTCTipHeight(): Promise<number>`

获取当前 Bitcoin 块链尖端高度 .

-   **回返情况:** 比特币尖端高度( 数字)

#### `sdk.client.getBabyStakingDelegations(address: string): Promise<DelegationResponse[]>`

获得所有BABY标志性代表团的地址.

-   **参数:**
    -   `address`: 要查询的巴比伦地址
-   **回返情况:** 代表团的答复

#### `sdk.client.getRewardsForBABYStaking(address: string): Promise<DelegationDelegatorReward[]>`

获取所有BABY 代表团奖励 特定地址.

-   **参数:**
    -   `address`: 要查询的巴比伦地址
-   **回返情况:** 代表团奖励系列

#### `sdk.client.getValidators(): Promise<Validator[]>`

在网络中获取所有验证器 .

-   **回返情况:** 所有验证符的矩阵

### SDK 信件

#### `sdk.messages.createWithdrawRewardForBTCStakingMsg(address: string)`

创建从 Bitcoin 抓取奖励的信息 .

-   **参数:**
    -   `address`:巴比伦地址来收回奖励
-   **回返情况:** 带有正确类型和值的信件对象, 准备签名和广播

#### `sdk.messages.createStakeBABYMsg(delegatorAddress: string, validatorAddress: string, amount: Coin)`

为取取 BABY 令牌创建信件 .

-   **参数:**
    -   `delegatorAddress`: 授权方的巴比伦地址
    -   `validatorAddress`: 验证人的巴比伦地址
    -   `amount`: 赌注的金额(有金额和下限的coin对象)
-   **回返情况:** 带有正确类型和值的信件对象, 准备签名和广播

#### `sdk.messages.createUnstakeBABYMsg(delegatorAddress: string, validatorAddress: string, amount: Coin)`

为不抓取的 BABY 令牌创建信件 .

-   **参数:**
    -   `delegatorAddress`: 授权方的巴比伦地址
    -   `validatorAddress`: 验证人的巴比伦地址
    -   `amount`: 未取出的数量( 带有数量和阴茎的阴性对象)
-   **回返情况:** 带有正确类型和值的信件对象, 准备签名和广播

#### `sdk.messages.createWithdrawRewardForBABYStakingMsg(delegatorAddress: string, validatorAddress: string)`

为退出BABY获取奖励创建消息 .

-   **参数:**
    -   `delegatorAddress`: 授权方的巴比伦地址
    -   `validatorAddress`: 验证人的巴比伦地址
-   **回返情况:** 带有正确类型和值的信件对象, 准备签名和广播

### SDK 公用事业

#### `sdk.utils.createRegistry(): Registry`

创建所有巴比伦信件类型的 CosmJS 注册 .

#### `sdk.utils.createAminoTypes(): AminoTypes`

创建巴比伦消息的氨基类型,这是硬件钱包兼容性所需的.

#### `sdk.utils.normalizeCosmjsAmount(amount: string): string`

将 CosmJS 的精度从18- 十进制改为标准 `ubbn` 格式.

-   **参数:**
    -   `amount`: 来自 CosmJS 的金额字符串(带有18个小数精度)
-   **回返情况:** 标准中归正数作为字符串 `ubbn` 格式

#### `sdk.utils.normalizeRewardResponse(response: QueryDelegationTotalRewardsResponse)`

规范 CosmJS 对标准的奖励响应 `ubbn` 格式.

-   **参数:**
    -   `response`: 来自 CosmJS 的查询委托书
-   **回返情况:** 标准数额的普通奖励数组 `ubbn` 格式

### Protobuf出口

库输出所有直接生成的原生生物类型,允许高级使用

## QQ 提交格式和自动发布

这个项目使用 [**常规武器委员会**](https://www.conventionalcommits.org/en/v1.0.0/) 财务报告和审定财务报表 [**语义释放**](https://semantic-release.gitbook.io/) 自动化 版本化,更动日志生成,和npm出版.

### \* 如何运作

1.  所有承诺都必须遵循 **常规武器委员会** 格式.
2.  当更改合并为 `main` 分支 :
    -   `semantic-release` 分析消息
    -   确定适当的语义版本凸起( E)`major`, (中文(简体) ), `minor`, (中文(简体) ), `patch`(中文(简体) )
    -   更新 `CHANGELOG.md`
    -   在 Git 中标记发布
    -   将新版本发布到 npm (如果配置)

### QQ 提交信件示例

```console
feat: add support for slashing script
fix: handle invalid staking tx gracefully
docs: update README with commit conventions
refactor!: remove deprecated method and cleanup types
```

> **说明:** 对于断开更改,添加一个 `!` 在类型之后( 譬如说. `feat!:` 或者说 `refactor!:`并包括对断裂的描述 改变承诺体.

### · 释出

只需使用适当的格式将您的更改输入并合并到 `main`。 。 。 . CI 管道将自动处理版本和发布,不使用手工 需要标记或版本突起.

## 常见问题

### @babylonlabs-io/babylon-proto-ts 是什么？

@babylonlabs-io/babylon-proto-ts \(英语\) 巴比伦比特币取走

### 如何安装 @babylonlabs-io/babylon-proto-ts？

在项目目录运行 npm install @babylonlabs-io/babylon-proto-ts，或使用 pnpm add / yarn add / bun add。

### @babylonlabs-io/babylon-proto-ts 支持 TypeScript 吗？

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

### @babylonlabs-io/babylon-proto-ts 支持 ESM 还是 CommonJS？

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

### @babylonlabs-io/babylon-proto-ts 可以商用吗？

@babylonlabs-io/babylon-proto-ts 使用 ISC 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @babylonlabs-io/babylon-proto-ts 的下载量有多少？

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

### @babylonlabs-io/babylon-proto-ts 还在维护吗？

最新版本 1\.23\.1 发布于 2026/08/21（2 个月前）；至今共发布 51 个版本，其中过去 12 个月发布了 5 个；首次发布于 2024/10/17。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

