Skip to Content
硬件接入

btcGetAddress

Bitcoin:获取地址

派生并返回指定路径的地址。showOnOneKey 为 true 时,用户必须在设备上确认地址。

const result = await HardwareSDK.btcGetAddress(connectId, deviceId, params);

参数

可选通用参数

导出单个地址

  • path - 必需 string | Array<number> SDK 校验的最小长度为 1。 路径格式
  • showOnOneKey - 可选 boolean。是否在设备上显示地址,默认为 true。
  • coin - 可选 string 决定 coins.json  文件中指定的网络定义。可以使用币种的 shortcut、name 或 label。如果未设置 coin,API 将尝试从 path 获取网络定义。
  • multisig - 可选 MultisigRedeemScriptType,赎回脚本信息(仅用于多签地址)
  • scriptType - 可选 InputScriptType,地址脚本类型

导出批量地址

  • bundle - 对象数组,每个对象包含 path、showOnOneKey、coin 字段。

获取不同类型的地址

不同的 BTC 地址类型需要不同的派生路径参数。

类型路径示例
Legacy BIP44m/44’/0’/x’/x/x以 “1” 开头,由 26 到 35 个字符组成
Nested SegWit BIP49m/49’/0’/x’/x/x以 “3” 开头,由 26 到 35 个字符组成
Native SegWit BIP84m/84’/0’/x’/x/x主网以 bc1q 开头;测试网以 tb1q 开头
Taproot BIP86m/86’/0’/x’/x/x主网以 bc1p 开头;测试网以 tb1p 开头

示例

显示第一个比特币账户的第三个地址:

HardwareSDK.btcGetAddress(connectId, deviceId, { path: "m/49'/0'/0'/0/2", coin: "btc" });

返回第一个比特币账户的批量地址,不在设备上显示:

HardwareSDK.btcGetAddress(connectId, deviceId, { bundle: [ { path: "m/49'/0'/0'/0/0", showOnOneKey: false }, // address 1 { path: "m/49'/0'/0'/0/1", showOnOneKey: false }, // address 2 { path: "m/49'/0'/0'/0/2", showOnOneKey: false } // address 3 ] });

返回结果

单个地址响应

{ success: true, payload: { address: string, // displayed address path: string // serialized BIP32 path } }

批量地址响应

{ success: true, payload: [ { address: string, path: string }, // address 1 { address: string, path: string }, // address 2 { address: string, path: string }, // address 3 ] }

错误

{ success: false, payload: { error: string, // error message code?: string | number // error code } }
最后更新于