跳到主要内容

benfenSignTransaction

Benfen:签名交易

使用指定 BIP32 路径派生的私钥对交易进行签名。用户需要在 Ukey Wallet 上核对交易目标、金额、费用等关键信息后确认。

const result = await HardwareSDK.benfenSignTransaction(connectId, deviceId, {
path: "m/44'/728'/1'/0'/0'",
rawTx:
"0x00000000000200088096980000000000002017f3a9bd36da0639153d3c38032217ea298eb1991e0a62cc5924e2dd712937350202000101000001010300000000010100b4ced58018b75d7ba72a10fa97c09b7bf66533ff104bf9db1bfdb004b17d8eaa0183006eb3c5499c3cb4b022f20955f387312ed312389c552fa39e35d6423d0c74f785b7000000000020497f41fdfb22d2ae32111dcdc21c16d27f48f47b7ca7aba240b684db5ca74c0fb4ced58018b75d7ba72a10fa97c09b7bf66533ff104bf9db1bfdb004b17d8eaa640000000000000060ad38000000000000", // 十六进制格式的原始交易
coinType: "0x2::bfc::BFC",
});

参数

可选通用参数

  • path - 必需 string | Array<number>,字符串数组最小长度限制为 3更多信息
  • rawTx - 必需 string,以十六进制文本表示的序列化交易数据。
  • coinType - 可选 string,用于指定代币类型的标识符。

返回值

  • success - boolean,用于标识请求是否成功。
  • payload:
    • signature: string - 十六进制格式的交易签名
    • path: string - 本次使用的 BIP32 路径
    • coinType?: string - 代币类型(如果提供),例如 0x2::bfc::BFC0x99::usdt::USDT

示例

const params = {
path: "m/44'/728'/2'/0'/0'",
rawTx:
"0x000000000002000990a6980000000000002018e4bacd47eb1740264e4d49143328fb3a9fc2aa2f1b73dd6a354f3ee823a482461303000101000001010400000000010100c5dfe69129c86e8cb83b21fb08d1ac8cf77644ff215cf0ec2cfe115c28e9fbb1294117fc4d65aad4dc5c1330f31a66f498423fe42349ad663fb4af46e7534e1d85f896c80000000000315a50ecec33e3bf43222eddd32d27e38f59f58c8db8bc351c795ec6db85d1fc5c5dfe69129c86e8cb83b21fb08d1ac8cf77644ff215cf0ec2cfe115c28e9fbb750000000000000071be49000000000000",
// 十六进制格式的原始交易
coinType: "0x99::usdt::USDT",
};

const response = await HardwareSDK.benfenSignTransaction(
connectId,
deviceId,
params,
);

返回结果

{
success: true,
payload: {
signature: string, // 签名结果
address: string, // 返回的地址
}
}

错误

{
success: false,
payload: {
error: string, // 错误消息
code: number // 错误码
}
}