@babylonlabs-io/babylon-proto-ts

中文文档
1.23.1发布于 2026/08/21ISCTypeScriptESM + CJS构建来源已验证近 30 天下载 71.5万

Babylon Logo

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

巴比伦比特币取走

中文使用文档
文档目录17 节
  1. @babylonlabs-io/babylon-proto-ts (英语)
  2. * 安装
  3. QQ 快速启动
  4. 基本用途
  5. 钱包整合
  6. 直接 Protobuf 访问
  7. API 参考
  8. SDK 函数
  9. SDK 方法
  10. 客户方法(通过sdk.客户端)
  11. SDK 信件
  12. SDK 公用事业
  13. Protobuf出口
  14. QQ 提交格式和自动发布
  15. * 如何运作
  16. QQ 提交信件示例
  17. · 释出

Babylon Logo

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

巴比伦比特币采集协议

类型脚本 图书馆

npm version


* 安装

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

QQ 快速启动

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

基本用途

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

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();

钱包整合

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

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 访问

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

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 提交格式和自动发布

这个项目使用 常规武器委员会 财务报告和审定财务报表 语义释放 自动化 版本化,更动日志生成,和npm出版.

* 如何运作

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

QQ 提交信件示例

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 共发布 51 个版本,首次发布于 2024/10/17;过去 12 个月发布了 5 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.23.1latest2026/08/212 个月前
1.22.12025/11/2511 个月前
1.22.02025/11/2011 个月前
1.21.02025/11/1411 个月前
1.20.02025/11/1111 个月前
1.19.02025/10/271 年前

其他发布通道:canary → 0.0.3-canary.7。

关于 @babylonlabs-io/babylon-proto-ts 的常见问题

@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 和提交记录判断。