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 // 错误码
}
}