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
}
}