Ủy thác phí

TxTypeFeeDelegatedValueTransfer

TxTypeFeeDelegatedValueTransfer được sử dụng khi người dùng muốn gửi KLAY. Vì Klaytn cung cấp nhiều loại giao dịch sao cho mỗi loại giao dịch chỉ phục vụ một mục đích duy nhất, TxTypeFeeDelegatedValueTransfer bị giới hạn gửi KLAY đến một tài khoản thuộc sở hữu bên ngoài. Vì thế, TxTypeFeeDelegatedValueTransfer chỉ được chấp nhận nếu to là một tài khoản thuộc sở hữu bên ngoài. Để chuyển KLAY đến một tài khoản hợp đồng thông minh, hãy dùng TxTypeFeeDelegatedSmartContractExecution. Các thay đổi sau sẽ được tạo ra nhờ loại giao dịch này.

  1. Số dư của người trả phí giảm đi một lượng bằng khoản phí giao dịch.

  2. Số dùng một lần của người gửi tăng thêm một đơn vị.

  3. value KLAY sẽ được chuyển từ người gửi đến người nhận.

Thuộc tính

Thuộc tính
type
Mô tả

type

uint8 (Go)

Loại TxTypeFeeDelegatedValueTransfer. Thuộc tính này phải là 0x09.

nonce

uint64 (Go)

Giá 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.

giá gas

*big.Int (Go)

Đơn giá của gas tính bằng peb mà người gửi sẽ dùng để thanh toán phí giao dịch. Số tiền phí giao dịch được tính theo công thức gas * gasPrice. Ví dụ: Nếu giao dịch tốn 10 đơn vị gas và gasPrice là 10^18, phí giao dịch sẽ là 10 KLAY. Hãy xem Đơn vị của KLAY.

gas

uint64 (Go)

Lượng gas tối đa mà giao dịch được phép sử dụng.

đến

common.Address (Go)

Địa chỉ tài khoản sẽ nhận giá trị được chuyển.

giá trị

*big.Int (Go)

Số lượng KLAY tính bằng peb sẽ được chuyển.

từ

common.Address (Go)

Địa chỉ của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

txSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

feePayer

common.Address (Go)

Địa chỉ của người trả phí.

feePayerSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người trả phí.

Mã hóa RLP cho chữ ký của người gửi

Để tạo chữ ký của người gửi, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho chữ ký của người trả phí

Để tạo chữ ký của người trả phí, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho SenderTxHash

Để tạo một SenderTxHash, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho hàm băm giao dịch

Để tạo một hàm băm giao dịch, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP (Ví dụ)

Phần dưới đây cho thấy kết quả của quá trình tuần tự hóa RLP và đối tượng giao dịch:

Kết quả đầu ra RPC (Example)

Phần dưới đây cho thấy một đối tượng giao dịch được trả về qua JSON RPC.

TxTypeFeeDelegatedValueTransferMemo

TxTypeFeeDelegatedValueTransferMemo được sử dụng khi người dùng muốn gửi KLAY với một tin nhắn cụ thể. TxTypeFeeDelegatedValueTransferMemo chỉ được chấp nhận nếu to là một tài khoản thuộc sở hữu bên ngoài. Để chuyển KLAY đến một tài khoản hợp đồng thông minh, hãy dùng TxTypeFeeDelegatedSmartContractExecution. Các thay đổi sau sẽ được tạo ra nhờ loại giao dịch này.

  1. Số dư của người trả phí giảm đi một lượng bằng khoản phí giao dịch.

  2. Số dùng một lần của người gửi tăng thêm một đơn vị.

  3. value KLAY sẽ được chuyển từ người gửi đến người nhận.

Thuộc tính

Thuộc tính
Mô tả
Loại
Một giá trị ví dụ

type

uint8 (Go)

Loại TxTypeFeeDelegatedValueTransferMemo. Thuộc tính này phải là 0x11.

nonce

uint64 (Go)

Giá 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.

giá gas

*big.Int (Go)

Đơn giá của gas tính bằng peb mà người gửi sẽ dùng để thanh toán phí giao dịch. Số tiền phí giao dịch được tính theo công thức gas * gasPrice. Ví dụ: nếu giao dịch tốn 10 đơn vị gas và gasPrice là 10^18, phí giao dịch sẽ là 10 KLAY. Hãy xem Đơn vị của KLAY.

gas

uint64 (Go)

Lượng gas tối đa mà giao dịch được phép sử dụng.

đến

common.Address (Go)

Địa chỉ tài khoản sẽ nhận giá trị được chuyển.

giá trị

*big.Int (Go)

Số lượng KLAY tính bằng peb sẽ được chuyển.

từ

common.Address (Go)

Địa chỉ của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

nhập

[]byte (Go)

Dữ liệu gắn kèm theo giao dịch. Thông điệp cần được truyền vào thuộc tính này.

txSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

feePayer

common.Address (Go)

Địa chỉ của người trả phí.

feePayerSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người trả phí.

Mã hóa RLP cho chữ ký của người gửi

Để tạo chữ ký của người gửi, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho chữ ký của người trả phí

Để tạo chữ ký của người trả phí, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho SenderTxHash

Để tạo một SenderTxHash, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho hàm băm giao dịch

Để tạo một hàm băm giao dịch, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP (Ví dụ)

Phần dưới đây cho thấy kết quả của quá trình tuần tự hóa RLP và đối tượng giao dịch:

Kết quả đầu ra RPC (Example)

Phần dưới đây cho thấy một đối tượng giao dịch được trả về qua JSON RPC.

TxTypeFeeDelegatedSmartContractDeploy

TxTypeFeeDelegatedSmartContractDeploy triển khai một hợp đồng thông minh bằng giao dịch ủy thác phí. Các thay đổi sau sẽ được tạo ra nhờ loại giao dịch này.

  1. Số dư của người trả phí giảm đi một lượng bằng khoản phí giao dịch.

  2. Số dùng một lần của người gửi tăng thêm một đơn vị.

  3. Một hợp đồng thông minh được triển khai bằng mã trong input. Địa chỉ đã triển khai sẽ được trả về qua contractAddress trong biên lai.

  4. value KLAY sẽ được chuyển từ người gửi đến người nhận.

Thuộc tính

Thuộc tính
type
Mô tả

type

uint8 (Go)

Loại TxTypeFeeDelegatedSmartContractDeploy. Thuộc tính này phải là 0x29.

nonce

uint64 (Go)

Giá 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.

giá gas

*big.Int (Go)

Đơn giá của gas tính bằng peb mà người gửi sẽ dùng để thanh toán phí giao dịch. Số tiền phí giao dịch được tính theo công thức gas * gasPrice. Ví dụ: nếu giao dịch tốn 10 đơn vị gas và gasPrice là 10^18, phí giao dịch sẽ là 10 KLAY. Hãy xem Đơn vị của KLAY.

gas

uint64 (Go)

Lượng gas tối đa mà giao dịch được phép sử dụng.

đến

*common.Address (Go)

Địa chỉ tài khoản sẽ nhận giá trị được chuyển. Hiện tại giá trị này phải bằng 0. Tính năng xác định địa chỉ sẽ được hỗ trợ trong tương lai.

giá trị

*big.Int (Go)

Số lượng KLAY tính bằng peb sẽ được chuyển.

từ

common.Address (Go)

Địa chỉ của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

nhập

[]byte (Go)

Dữ liệu được gắn kèm giao dịch, dùng để thực thi giao dịch.

humanReadable

bool (Go)

Đây phải là giá trị false vì địa chỉ có thể đọc chưa được hỗ trợ. Nếu giá trị là true, giao dịch sẽ bị từ chối.

codeFormat

uint8 (Go)

Định dạng mã của mã hợp đồng thông minh. Hiện tại, giá trị được hỗ trợ chỉ có EVM(0x00).

txSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

feePayer

common.Address (Go)

Địa chỉ của người trả phí.

feePayerSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người trả phí.

Mã hóa RLP cho chữ ký của người gửi

Để tạo chữ ký của người gửi, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho chữ ký của người trả phí

Để tạo chữ ký của người trả phí, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho SenderTxHash

Để tạo một SenderTxHash, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho hàm băm giao dịch

Để tạo một hàm băm giao dịch, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP (Ví dụ)

Phần dưới đây cho thấy kết quả của quá trình tuần tự hóa RLP và đối tượng giao dịch:

Kết quả đầu ra RPC (Example)

Phần dưới đây cho thấy một đối tượng giao dịch được trả về qua JSON RPC.

TxTypeFeeDelegatedSmartContractExecution

TxTypeFeeDelegatedSmartContractExecution thực thi hợp đồng thông minh với dữ liệu đã cho trong input. Người trả phí đã xác định sẽ thanh toán phí. TxTypeFeeDelegatedSmartContractExecution chỉ được chấp nhận nếu to là một tài khoản hợp đồng thông minh. Để chuyển KLAY đến một tài khoản sở hữu bên ngoài, hãy dùng TxTypeFeeDelegatedValueTransfer. Các thay đổi sau sẽ được tạo ra nhờ loại giao dịch này.

  1. Nếu to là một tài khoản hợp đồng thông minh, mã sẽ được thực thi dựa trên input. Nếu không, giao dịch sẽ bị từ chối.

  2. Số dư của người trả phí giảm đi một lượng bằng khoản phí giao dịch.

  3. Số dùng một lần của người gửi tăng thêm một đơn vị.

  4. Nếu value được cung cấp, value KLAY được chuyển từ người gửi đến to của hợp đồng thông minh. Hợp đồng phải có hàm dự phòng khoản phải trả để nhận KLAY.

Thuộc tính

Thuộc tính
Loại
Mô tả

type

uint8 (Go)

Loại TxTypeFeeDelegatedSmartContractExecution. Thuộc tính này phải là 0x31.

nonce

uint64 (Go)

Giá 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.

giá gas

*big.Int (Go)

Đơn giá của gas tính bằng peb mà người gửi sẽ dùng để thanh toán phí giao dịch. Số tiền phí giao dịch được tính theo công thức gas * gasPrice. Ví dụ: Nếu giao dịch tốn 10 đơn vị gas và gasPrice là 10^18, phí giao dịch sẽ là 10 KLAY. Hãy xem Đơn vị của KLAY.

gas

uint64 (Go)

Lượng gas tối đa mà giao dịch được phép sử dụng.

đến

common.Address (Go)

Địa chỉ thực thi tài khoản hợp đồng thông minh.

giá trị

*big.Int (Go)

Số lượng KLAY tính bằng peb sẽ được chuyển.

từ

common.Address (Go)

Địa chỉ của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

nhập

[]byte (Go)

Dữ liệu được gắn kèm giao dịch, dùng để thực thi giao dịch.

txSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

feePayer

common.Address (Go)

Địa chỉ của người trả phí.

feePayerSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người trả phí.

Mã hóa RLP cho chữ ký của người gửi

Để tạo chữ ký của người gửi, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho chữ ký của người trả phí

Để tạo chữ ký của người trả phí, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho SenderTxHash

Để tạo một SenderTxHash, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho hàm băm giao dịch

Để tạo một hàm băm giao dịch, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP (Ví dụ)

Phần dưới đây cho thấy kết quả của quá trình tuần tự hóa RLP và đối tượng giao dịch:

Kết quả đầu ra RPC (Example)

Phần dưới đây cho thấy một đối tượng giao dịch được trả về qua JSON RPC.

TxTypeFeeDelegatedAccountUpdate

TxTypeFeeDelegatedAccountUpdate cập nhật khóa của tài khoản đã cho. Phí giao dịch do người trả phí thanh toán. Các thay đổi sau sẽ diễn ra nhờ loại giao dịch này.

  1. Số dư của người trả phí giảm đi một lượng bằng khoản phí giao dịch.

  2. Số dùng một lần của người gửi tăng thêm một đơn vị.

  3. Khóa tài khoản được cập nhật bằng key.

  4. Khi loại giao dịch này đã được triển khai, các giao dịch gửi từ tài khoản này từ đó sẽ được xác thực bằng key mới.

  5. Phí giao dịch do người trả phí thanh toán.

Thuộc tính

Thuộc tính
Loại
Mô tả

type

uint8 (Go)

Loại TxTypeAccountUpdate. Thuộc tính này phải là 0x21.

nonce

uint64 (Go)

Giá 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.

giá gas

*big.Int (Go)

Hệ 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. Hãy xem Đơn vị của KLAY.

gas

uint64 (Go)

Giá trị phí giao dịch tối đa mà giao dịch được phép sử dụng.

từ

common.Address (Go)

Địa chỉ của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

khóa

AccountKey (Go)

[AccountKey][] cần cập nhật cho tài khoản.

txSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

feePayer

common.Address (Go)

Địa chỉ của người trả phí.

feePayerSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người trả phí.

Mã hóa RLP cho chữ ký của người gửi

Để tạo chữ ký của người gửi, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho chữ ký của người trả phí

Để tạo chữ ký của người trả phí, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho SenderTxHash

Để tạo một SenderTxHash, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho hàm băm giao dịch

Để tạo một hàm băm giao dịch, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP (Ví dụ)

Phần dưới đây cho thấy kết quả của quá trình tuần tự hóa RLP và đối tượng giao dịch:

Kết quả đầu ra RPC (Example)

Phần dưới đây cho thấy một đối tượng giao dịch được trả về qua JSON RPC.

TxTypeFeeDelegatedCancel

TxTypeFeeDelegatedCancel hủy bỏ việc thực thi giao dịch có cùng số dùng một lần trong bể giao dịch. Để biết thêm chi tiết, hãy xem TxTypeCancel.

Các thay đổi sau sẽ được áp dụng nhờ loại giao dịch này. 1. Số dư của người trả phí giảm đi một lượng bằng khoản phí giao dịch. 2. Số dùng một lần của người gửi tăng thêm một đơn vị.

Thuộc tính

Thuộc tính
type
Mô tả

type

uint8 (Go)

Loại TxTypeCancel. Thuộc tính này phải là 0x39.

nonce

uint64 (Go)

Giá 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.

giá gas

*big.Int (Go)

Đơn giá của gas tính bằng peb mà người gửi sẽ dùng để thanh toán phí giao dịch. Số tiền phí giao dịch được tính theo công thức gas * gasPrice. Ví dụ: Nếu giao dịch tốn 10 đơn vị gas và gasPrice là 10^18, phí giao dịch sẽ là 10 KLAY. Hãy xem Đơn vị của KLAY.

gas

uint64 (Go)

Giá trị phí giao dịch tối đa mà giao dịch được phép sử dụng.

từ

common.Address (Go)

Địa chỉ của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

txSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

feePayer

common.Address (Go)

Địa chỉ của người trả phí.

feePayerSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người trả phí.

Mã hóa RLP cho chữ ký của người gửi

Để tạo chữ ký của người gửi, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho chữ ký của người trả phí

Để tạo chữ ký của người trả phí, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho SenderTxHash

Để tạo một SenderTxHash, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho hàm băm giao dịch

Để tạo một hàm băm giao dịch, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP (Ví dụ)

Phần dưới đây cho thấy kết quả của quá trình tuần tự hóa RLP và đối tượng giao dịch:

Kết quả đầu ra RPC (Example)

Phần dưới đây cho thấy một đối tượng giao dịch được trả về qua JSON RPC.

TxTypeFeeDelegatedChainDataAnchoring

TxTypeFeeDelegatedChainDataAnchoring là một giao dịch có phí ủy thác neo dữ liệu chuỗi dịch vụ vào chuỗi chính của Klaytn. Các chuỗi dịch vụ gửi định kỳ loại giao dịch này đến chuỗi chính Klaytn để đảm bảo tính bảo mật và độ tin cậy của dữ liệu. Để biết thêm chi tiết về việc neo dữ liệu, hãy xem Neo. Vì đây cũng là một giao dịch có phí ủy thác nên phí giao dịch cũng được tính cho người trả phí. Lưu ý rằng giao dịch này không được phép gửi qua RPC. Hiện tại, giao dịch này được thực thi qua các kênh p2p riêng tư vì lý do bảo mật. Giao dịch này không làm thay đổi trạng thái của chuỗi khối Klaytn, ngoại trừ việc số dùng một lần của người gửi tăng lên một đơn vị.

Thuộc tính

Thuộc tính
Loại
Mô tả

type

uint8 (Go)

Loại TxTypeFeeDelegatedChainDataAnchoring. Thuộc tính này phải là 0x49.

nonce

uint64 (Go)

Giá 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.

giá gas

*big.Int (Go)

Đơn giá của gas tính bằng peb mà người gửi sẽ dùng để thanh toán phí giao dịch. Số tiền phí giao dịch được tính theo công thức gas * gasPrice. Ví dụ: Nếu giao dịch tốn 10 đơn vị gas và gasPrice là 10^18, phí giao dịch sẽ là 10 KLAY. Hãy xem Đơn vị của KLAY.

gas

uint64 (Go)

Giá trị phí giao dịch tối đa mà giao dịch được phép sử dụng.

từ

common.Address (Go)

Địa chỉ của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

nhập

[]byte (Go)

Dữ liệu của chuỗi dịch vụ.

txSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người gửi. Để biết thêm chi tiết, hãy xem Xác thực chữ ký của giao dịch.

feePayer

common.Address (Go)

Địa chỉ của người trả phí.

feePayerSignatures

[]{*big.Int, *big.Int, *big.Int} (Go)

Chữ ký của người trả phí.

Mã hóa RLP cho chữ ký của người gửi

Để tạo chữ ký của người gửi, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho chữ ký của người trả phí

Để tạo chữ ký của người trả phí, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho SenderTxHash

Để tạo một SenderTxHash, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP cho hàm băm giao dịch

Để tạo một hàm băm giao dịch, quá trình tuần tự hóa RLP phải diễn ra như sau:

Mã hóa RLP (Ví dụ)

Phần dưới đây cho thấy kết quả của quá trình tuần tự hóa RLP và đối tượng giao dịch:

Kết quả đầu ra RPC (Example)

Phần dưới đây cho thấy một đối tượng giao dịch được trả về qua JSON RPC.

[AccountKey]: ../tài khoảns.md#tài khoản-key

Last updated