caver.validator

Gói caver.validator cung cấp các hàm xác thực nên được sử dụng khi triển khai ứng dụng trên Klaytn.

LƯU Ý caver.validator được hỗ trợ kể từ caver-js phiên bản v1.6.3.

validateSignedMessage

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

Xác thực tin nhắn đã ký bằng cách so sánh khóa công khai được khôi phục từ chữ ký với khóa tài khoản của tài khoản Klaytn.

Tham số

TêntypeMô tả

thông báo

chuỗi

Chuỗi tin nhắn thô. Nếu tin nhắn này ở dạng băm với tiền tố dành riêng cho Klaytn, tham số thứ ba sẽ được thông qua dưới dạng true.

chữ ký

đối tượng \

Mảng

address

chuỗi

Địa chỉ của tài khoản đã ký tin nhắn.

isHashed

boolean

(tùy chọn, mặc định: false) Liệu tin nhắn được truyền làm tham số có ở dạng băm với tiền tố "\x19Klaytn Signed Message:\n" + message.length + message hay không.

Giá trị trả về

Promise trả về boolean: Promise sẽ được xử lý bằng một giá trị boolean xác định chữ ký trên tin nhắn có hợp lệ hay không.

Ví dụ

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)

Xác thực một giao dịch. Hàm này so sánh các khóa công khai từ khóa tài khoản của tài khoản Klaytn với các khóa công khai được khôi phục từ signatures. Nếu giao dịch được ủy thác phí với biến feePayerSignatures bên trong, hàm này sẽ so sánh các khóa công khai được khôi phục từ feePayerSignatures với các khóa công khai của người trả phí.

Tham số

TênLoạiMô tả

tx

đối tượng

Giá trị trả về

Promise trả về boolean: Promise sẽ được xử lý bằng một giá trị boolean xác định liệu giao dịch có hợp lệ hay không.

Ví dụ

// Giao dịch cơ bản sẽ được xác thực bằng `signatures`.
const tx = caver.transaction.valueTransfer.create({...})
> caver.validator.validateTransaction(tx).then(console.log)

// Giao dịch ủy thác phí sẽ được xác thực bằng `signatures` và `feePayerSignatures`.
const tx = caver.transaction.feeDelegatedValueTransfer.create({...})
> caver.validator.validateTransaction(tx).then(console.log)

validateSender

caver.validator.validateSender(tx)

Xác thực người gửi giao dịch. Hàm này so sánh các khóa công khai của khóa tài khoản của tài khoản Klaytn với các khóa công khai được khôi phục từ signatures.

Tham số

TêntypeMô tả

tx

đối tượng

Giá trị trả về

Promise trả về boolean: Promise sẽ được xử lý bằng giá trị boolean xác định liệu giao dịch có hợp lệ hay không.

Ví dụ

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

validateFeePayer

caver.validator.validateFeePayer(tx)

Xác thực người trả phí trong giao dịch. Hàm này so sánh các khóa công khai của khóa tài khoản của người trả phí với các khóa công khai được khôi phục từ feePayerSignatures.

Tham số

TênLoạiMô tả

tx

đối tượng

Giá trị trả về

Promise trả về boolean: Promise sẽ được xử lý bằng giá trị boolean xác định liệu giao dịch có hợp lệ hay không.

Ví dụ

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

Last updated