跳到主要内容

dnxSignTransaction

Dynex:签名交易

使用指定 BIP32 路径派生的私钥签名 Dynex 交易。用户需要在设备上核对交易详情后确认。

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

使用要求

  • 固件版本要求
    • UKey Lite 24 / UKey Lite 25 / UKey Core 26: 1.1.0

参数

connectId: string

  • 当前连接会话的唯一标识符

deviceId: string

  • 硬件设备对应的唯一标识符

params: object

  • path - 必需 string,用于签名的 BIP32 路径(例如 "m/44'/0'/0'/0/0")。
  • inputs - 必需 array,交易输入数组。
    • prevIndex - number,前一个输出索引。
    • globalIndex - number,全局索引。
    • txPubkey - string,交易公钥。
    • prevOutPubkey - string,前一个输出公钥。
    • amount - string,输入金额。
  • toAddress - 必需 string,目标地址。
  • amount - 必需 string,交易金额。
  • fee - 必需 string,交易手续费。
  • paymentIdHex - 可选 string,支付 ID,必须为 32 字节。

示例

const response = await HardwareSDK.dnxSignTransaction(connectId, deviceId, {
path: "m/44'/0'/2'/0/0",
inputs: [
{
prevIndex: 1,
globalIndex: 418,
txPubkey:
"1a82c97415b4f3eed2a7c8bb64fc9de0c1b7e6daaf3c49f52d98124756bc91de",
prevOutPubkey:
"e34cf8b7da92c15e4f2033d5b86a4c71905f7ab842cce19db5284e6f91a2bc47",
amount: "1250000000",
},
],
toAddress:
"Xdq4WJ7mP8Ls3nYbT6rQe2ZvH9cFaUk5Mw1Nt8spxR4kd73aBgQTy6KLoihvcJr2mS7z5PXHYxALVqctNpWrE58k3uFgHCZLM",
amount: "1200000000",
fee: "120000",
});

返回结果

成功响应:

{
success: true,
payload: {
path: string, // 本次签名使用的 BIP32 路径
txKey: {
ephemeralTxSecKey: string, // 交易私钥
ephemeralTxPubKey: string // 交易公钥
},
computedKeyImages: string[], // 计算生成的密钥镜像列表
signatures: string[], // 返回的签名结果列表
outputKeys: string[] // 生成的输出密钥列表
}
}

错误

{
success: false,
payload: {
error: string,
code: number
}
}