跳到主要内容

evmVerifyMessage

以太坊:验证消息

根据签名者地址、原始消息和签名结果校验消息是否由该账户签出。

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

参数

可选通用参数

  • address - 必需 string,签名者地址;0x 前缀可选。
  • messageHex - 必需 string,十六进制文本格式的已签名消息。
  • signature - 必需 string,十六进制格式的签名;0x 前缀可选。
  • chainId - 可选 number,ChainId 是 ETH 中用于特定以太坊网络的唯一标识符,帮助区分不同版本的区块链。参考

示例

// 原消息
const message = "Example message";

// 转换为十六进制后的消息
const messageHex = Buffer.from(message).toString("hex");

HardwareSDK.evmVerifyMessage(connectId, deviceId, {
address: "0xdA0b608bdb1a4A154325C854607c68950b4F1a34",
messageHex: messageHex,
signature:
"11dc86c631ef5d9388c5e245501d571b864af1a717cbbb3ca1f6dacbf330742957242aa52b36bbe7bb46dce6ff0ead0548cc5a5ce76d0aaed166fd40cb3fc6e51c",
chainId: 1,
});

返回结果

{
success: true,
payload: {
message: "Message verified"
}
}

错误

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