Nhảy tới nội dung

Giao dịch

Tổng quan về giao dịch

Một giao dịch trong nền tảng chuỗi khối là một thông điệp mà các nút gửi cho nhau, làm thay đổi trạng thái của chuỗi khối. Ví dụ: khi thực thi một giao dịch gửi 10 KLAY từ tài khoản của Alice đến tài khoản của Bob, số dư của Alice sẽ giảm 10 KLAY và số dư của Bob tăng 10 KLAY. Lưu ý rằng một giao dịch không thể xen kẽ với một giao dịch khác vì giao dịch là một hoạt động nguyên tử. Một giao dịch chuỗi khối điển hình có các thành phần như dưới đây:

Thành phầnMô tả
giá trịSố lượng KLAY tính bằng peb sẽ được chuyển.
đếnĐịa chỉ tài khoản sẽ nhận giá trị được chuyển.
nhậpDữ liệu được gắn kèm giao dịch, dùng để thực thi giao dịch.
v, r, sChữ ký mật mã được tạo bởi người gửi để cho phép người nhận lấy được địa chỉ của người gửi.
nonceGiá trị dùng để định danh duy nhất cho một giao dịch của người gửi. Nếu hai giao dịch có cùng một giá trị số dùng một lần do người gửi tạo ra, chỉ có một giao dịch sẽ được thực thi.
gasGiá trị phí giao dịch tối đa mà giao dịch được phép sử dụng.
giá gasHệ số nhân để tính toán số lượng token mà người gửi sẽ thanh toán. Lượng token mà người gửi sẽ thanh toán được tính theo công thức gas * gasPrice. Ví dụ: Người gửi sẽ thanh toán khoản phí giao dịch là 10 KLAY nếu gas bằng 10 và gasPrice là 10^18. Đơn vị của KLAY được mô tả tại đây.

Các giao dịch của Klaytn

Khi các nền tảng chuỗi khối thông thường cung cấp một loại giao dịch duy nhất, Klaytn cung cấp nhiều loại giao dịch, thúc đẩy các giao dịch nhờ những khả năng mới và tối ưu hóa vùng phủ bộ nhớ và hiệu suất.

Xác thực chữ ký của giao dịch

Trong các nền tảng chuỗi khối thông thường, địa chỉ được lấy khóa công khai, sau đó khóa này được lấy lại từ chữ ký giao dịch. Điều này chỉ có thể xảy ra nếu địa chỉ và cặp khóa được gắn chặt chẽ với nhau.

Vì trong Klaytn, một cặp khóa được tách khỏi địa chỉ, địa chỉ của người gửi không thể lấy được bằng cách sử dụng chữ ký giao dịch. Đây là lí do khiến các loại giao dịch của Klaytn, trừ TxTypeLegacyTransaction có trường from. Trong Klaytn, để xác thực một giao dịch, AccountKey của from sẽ được lấy, và khóa lấy được sẽ dùng để xác thực chữ ký của giao dịch.

Ủy thác phí

Để mang lại cho các doanh nghiệp sự linh hoạt cần thiết trong thiết kế mô hình kinh doanh của họ, Klaytn cung cấp một số phiên bản ủy thác phí dành cho các loại giao dịch cơ bản. Những biến số này cho phép các nhà cung cấp dịch vụ trợ cấp cho các hoạt động của người dùng cuối bằng cách thanh toán phí giao dịch cho người dùng. Việc trợ cấp phí giao dịch có thể được diễn giải chi tiết hơn bằng cách sử dụng các giao dịch có tham số Tỷ lệ, cho phép các nhà cung cấp dịch vụ chỉ định tỷ lệ phần trăm phí mà họ sẽ chi trả. Các giao dịch ủy thác phí cần ít nhất hai chữ ký: một chữ ký từ người gửi và một chữ ký từ người trả phí.

SenderTxHash

SenderTxHash là hàm băm của một giao dịch không chứa địa chỉ và chữ ký của người trả phí. Hàm băm giao dịch của một giao dịch có phí ủy thác chưa được xác định cho đến khi người trả phí ký giao dịch. Để theo dõi một giao dịch có phí ủy thác, người gửi phải gửi hàm băm giao dịch lấy từ giao dịch hoàn thiện, trong đó có chứa các chữ ký từ cả người gửi và người trả phí. Bởi vì người gửi rất khó lấy được hàm băm giao dịch, Klaytn cung cấp SenderTxHash và hàm băm giao dịch. To find the complete fee-delegated transaction in the Klaytn network, the sender generates the SenderTxHash and requests a transaction object via klay_getTransactionBySenderTxHash. Cách để lấy SenderTxHash tùy thuộc vào từng loại giao dịch, thông tin có trong phần mô tả của từng loại giao dịch.

Từng loại giao dịch được mô tả chi tiết:

Cơ bảnỦy thác phíỦy thác phí một phần
LegacyTxTypeLegacyTransactionKhông cóKhông có
ValueTransferTxTypeValueTransferTxTypeFeeDelegatedValueTransferTxTypeFeeDelegatedValueTransferWithRatio
ValueTransferMemoTxTypeValueTransferMemoTxTypeFeeDelegatedValueTransferMemoTxTypeFeeDelegatedValueTransferMemoWithRatio
SmartContractDeployTxTypeSmartContractDeployTxTypeFeeDelegatedSmartContractDeployTxTypeFeeDelegatedSmartContractDeployWithRatio
SmartContractExecutionTxTypeSmartContractExecutionTxTypeFeeDelegatedSmartContractExecutionTxTypeFeeDelegatedSmartContractExecutionWithRatio
AccountUpdateTxTypeAccountUpdateTxTypeFeeDelegatedAccountUpdateTxTypeFeeDelegatedAccountUpdateWithRatio
CancelTxTypeCancelTxTypeFeeDelegatedCancelTxTypeFeeDelegatedCancelWithRatio
ChainDataAnchoringTxTypeChainDataAnchoringTxTypeFeeDelegatedChainDataAnchoringTxTypeFeeDelegatedChainDataAnchoringWithRatio
Make this page better