跳至主要内容
本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)

caver.validator

caver.validator "软件包提供了在 kaia 上实施应用程序时应使用的验证函数。

注意 caver.validator 自 caver-js v1.6.3 开始支持。

validateSignedMessage


caver.validator.validateSignedMessage(message, signatures, address [, isHashed])

通过比较从签名中提取的公钥和 kaia 账户的账户密钥,验证已签名的信息。

参数

名称类型描述
messagestring原始信息字符串。 如果该信息使用 kaia 特有的前缀散列,则第三个参数应作为 true传入。
singaturesobject \Array
addressstring签署信息的账户地址。
isHashedboolean(optional, default: false) 作为参数传递的消息是否使用前缀"\x19Kaia Signed Message:\n" + message.length + message

返回价值

返回booleanPromise:该承诺将以一个 boolean 来表示消息上的签名是否有效。

示例


const address = '0xa84a1ce657e9d5b383cece6f4ba365e23fa234dd'
const message = 'Some Message'
const signature = [
'0x1b',
'0x8213e560e7bbe1f2e28fd69cbbb41c9108b84c98cd7c2c88d3c8e3549fd6ab10',
'0x3ca40c9e20c1525348d734a6724db152b9244bff6e0ff0c2b811d61d8f874f00',
]
> caver.validator.validateSignedMessage(message, signature, address).then(console.log)
const address = '0xa84a1ce657e9d5b383cece6f4ba365e23fa234dd'
const hashedMessage = '0xa4b1069c1000981f4fdca0d62302dfff77c2d0bc17f283d961e2dc5961105b18'
const signature = [
'0x1b',
'0x8213e560e7bbe1f2e28fd69cbbb41c9108b84c98cd7c2c88d3c8e3549fd6ab10',
'0x3ca40c9e20c1525348d734a6724db152b9244bff6e0ff0c2b811d61d8f874f00',
]
> caver.validator.validateSignedMessage(hashedMessage, signature, address, true).then(console.log)

validateTransaction


caver.validator.validateTransaction(tx)

验证交易。 该函数比较 kaia 账户密钥中的公钥和从 "签名 "中恢复的公钥。 如果交易是收费委托的,且内含 "feePayerSignatures "变量,则该函数会比较从 "feePayerSignatures "中获取的公钥和收费人的公钥。

参数

名称类型描述
txobject要验证的 Transaction 实例。

返回价值

返回 booleanPromise:该承诺将以 boolean 来表示传输是否有效。

示例


// Basic transaction will be validated with `signatures`.
const tx = caver.transaction.valueTransfer.create({...})
> caver.validator.validateTransaction(tx).then(console.log)
// Fee-delegation transaction will be validated with `signatures` and `feePayerSignatures`.
const tx = caver.transaction.feeDelegatedValueTransfer.create({...})
> caver.validator.validateTransaction(tx).then(console.log)

validateSender


caver.validator.validateSender(tx)

验证交易发送方。 该函数比较 kaia 帐户的帐户密钥和从 "签名 "中恢复的公钥。

参数

名称类型描述
txobject要验证的 Transaction 实例。

返回价值

返回booleanPromise:该承诺将以boolean表示交易是否有效。

示例


const tx = caver.transaction.valueTransfer.create({...})
> caver.validator.validateSender(tx).then(console.log)

validateFeePayer


caver.validator.validateFeePayer(tx)

验证交易中的缴费人。 该函数比较缴费人账户密钥的公钥和从feePayerSignatures 中获取的公钥。

参数

名称类型描述
txobject要验证的 Transaction 实例。

返回价值

返回booleanPromise:该承诺将以 boolean 表示交易是否有效。

示例


const tx = caver.transaction.feeDelegatedValueTransfer.create({...})
> caver.validator.validateFeePayer(tx).then(console.log)

让这个页面变得更好