Giao dịch
lệnh gọi
Thực thi một giao dịch lệnh gọi thông điệp, được thực thi trực tiếp trên máy ảo Klaytn của nút mạng, nhưng không bao giờ được đào vào chuỗi khối.
Tham số
callObject
Đối tượng
Một đối tượng giao dịch khác biệt ở chỗ đối với các lệnh gọi, thuộc tính "from" là tùy chọn. Một lệnh gọi hàm mã hóa phải được đặt trong trường dữ liệu của đối tượng giao dịch.
defaultBlock
Số | Chuỗi
(tùy chọn) Nếu bạn truyền tham số này thì tham số này sẽ không sử dụng khối mặc định được thiết lập bằng hàm caver.klay.defaultBlock.
callback
Hàm
(tùy chọn) Hàm callback tùy chọn, trả về một đối tượng lỗi làm tham số thứ nhất và kết quả làm tham số thứ hai.
Giá trị trả về
Promise
trả về String
: Dữ liệu trả về của lệnh gọi, ví dụ, giá trị trả về của một hàm trong hợp đồng thông minh.
Ví dụ
estimateGas
Thực thi một lệnh gọi thông điệp hoặc giao dịch và trả về số lượng gas đã sử dụng cho lệnh gọi/giao dịch mô phỏng.
Tham số
callObject
Đối tượng
Một đối tượng giao dịch khác biệt ở chỗ đối với các lệnh gọi, thuộc tính "from" là tùy chọn. Một lệnh gọi hàm mã hóa phải được đặt trong trường dữ liệu của đối tượng giao dịch.
callback
Hàm
(tùy chọn) Hàm callback tùy chọn, trả về một đối tượng lỗi làm tham số thứ nhất và kết quả làm tham số thứ hai.
Giá trị trả về
Promise
trả về Number
- đơn vị gas đã sử dụng cho lệnh gọi/giao dịch mô phỏng.
Ví dụ
estimateComputationCost
Tạo và trả về chi phí tính toán ước tính sẽ được sử dụng để thực hiện giao dịch. Klaytn giới hạn chi phí tính toán của một giao dịch ở mức 100000000
, hiện không mất quá nhiều thời gian cho một giao dịch.g mất quá nhiều. Giao dịch sẽ không được thêm vào chuỗi khối.
Tham số
callObject
Đối tượng
Một đối tượng giao dịch khác biệt ở chỗ đối với các lệnh gọi, thuộc tính "from" là tùy chọn. Một lệnh gọi hàm mã hóa phải được đặt trong trường dữ liệu của đối tượng giao dịch.
defaultBlock
Số | Chuỗi
(tùy chọn) Nếu bạn truyền tham số này, khối mặc định được thiết lập bằng hàm caver.klay.defaultBlock sẽ được sử dụng.
callback
Hàm
(tùy chọn) Hàm callback tùy chọn, trả về một đối tượng lỗi làm tham số thứ nhất và kết quả làm tham số thứ hai.
Giá trị trả về
Promise
trả về Number
- Lượng chi phí tính toán được sử dụng.
Ví dụ
decodeTransaction
Trả về một đối tượng giao dịch chứa tất cả các giá trị giải mã từ giao dịch rawTransaction
cho trước, đây là giao dịch mã hóa RLP. Do tất cả các loại giao dịch ngoại trừ giao dịch cũ đều có thể có nhiều chữ ký của người gửi và người trả phí, các trường trả về hiện có bao gồm v, r, s và payerV, payerR, payerS là chữ ký đầu tiên (thứ tự 0) của người gửi và người trả phí.
LƯU Ý caver.klay.decodeTransaction được hỗ trợ kể từ phiên bản v1.0.1-rc.8. Để sử dụng tính năng này, hãy cài đặt từ phiên bản v1.0.1-rc.8 trở lên.
LƯU Ý Để hỗ trợ chế độ đa chữ ký, các thuộc tính signatures
và feePayerSignatures
đã được thêm vào kể từ phiên bản caver-js v1.2.0-rc.3.
Tham số
rawTransaction
Chuỗi
Dữ liệu của giao dịch mã hóa RLP.
Giá trị trả về
Đối tượng
Đối tượng giao dịch. Đối tượng giao dịch trả về sẽ có các thuộc tính khác nhau tùy thuộc vào loại giao dịch. Để biết danh sách các thuộc tính có trong mỗi loại giao dịch, tham khảo SendTransaction.
Ví dụ
getTransaction
Trả về giao dịch khớp với hàm băm giao dịch đã cho.
Tham số
transactionHash
Chuỗi
Hàm băm của giao dịch.
callback
Hàm
(tùy chọn) Hàm callback tùy chọn, trả về một đối tượng lỗi làm tham số thứ nhất và kết quả làm tham số thứ hai.
Giá trị trả về
Promise
trả về đối tượng
- Một đối tượng giao dịch hoặc null
khi không tìm thấy giao dịch:
blockHash
DỮ LIỆU 32 byte
Hàm băm của khối chứa giao dịch này. null
nếu đó là giao dịch đang chờ xử lý.
blockNumber
SỐ LƯỢNG
Số khối chứa giao dịch này. null
nếu đó là giao dịch đang chờ xử lý.
codeFormat
Chuỗi
(tùy chọn) Định dạng mã của mã hợp đồng thông minh.
feePayer
DỮ LIỆU 20 byte
(tùy chọn) Địa chỉ của người trả phí.
feePayerSignatures
Mảng
(tùy chọn) Mảng các đối tượng chữ ký của người trả phí. Một đối tượng chữ ký chứa ba trường (V, R và S). V chứa mã khôi phục ECDSA. R chứa chữ ký ECDSA r trong khi S chứa chữ ký ECDSA s.
feeRatio
SỐ LƯỢNG
(tùy chọn) Tỷ lệ phí của người trả phí. Nếu tỷ lệ là 30 thì người trả phí phải trả 30% phí. 70% còn lại sẽ được trả bởi người gửi.
từ
DỮ LIỆU 20 byte
Địa chỉ của người gửi.
gas
SỐ LƯỢNG
Gas được người gửi cung cấp.
giá gas
SỐ LƯỢNG
Giá gas được người gửi cung cấp theo đơn vị peb.
hash
DỮ LIỆU 32 byte
Hàm băm của giao dịch.
humanReadable
Boolean
(tùy chọn) true
nếu địa chỉ con người có thể đọc được, ngược lại sẽ là false
.
khóa
Chuỗi
(tùy chọn) Mã khóa của tài khoản mới tạo.
nhập
DATA
(tùy chọn) Dữ liệu được gửi cùng với giao dịch.
nonce
SỐ LƯỢNG
Số lượng giao dịch được người gửi thực hiện trước giao dịch này.
senderTxHash
DỮ LIỆU 32 byte
(tùy chọn) Hàm băm của tx mà không có địa chỉ và chữ ký của người trả phí. Giá trị này luôn giống với giá trị của hash
đối với các giao dịch không ủy thác trả phí.
chữ ký
Mảng
Một mảng các đối tượng chữ ký. Một đối tượng chữ ký chứa ba trường (V, R và S). V chứa mã khôi phục ECDSA. R chứa chữ ký ECDSA r trong khi S chứa chữ ký ECDSA s.
đến
DỮ LIỆU 20 byte
Địa chỉ của người nhận. null
nếu đó là giao dịch tạo hợp đồng.
transactionIndex
SỐ LƯỢNG
Giá trị nguyên biểu thị vị trí chỉ mục của giao dịch trong khối. null
nếu đó là giao dịch đang chờ xử lý.
type
Chuỗi
Chuỗi biểu thị loại giao dịch.
typeInt
SỐ LƯỢNG
Giá trị nguyên biểu thị loại giao dịch.
giá trị
SỐ LƯỢNG
Giá trị được chuyển tính bằng đơn vị peb.
Ví dụ
getTransactionBySenderTxHash
Trả về thông tin về giao dịch được xác định bởi giá trị senderTxHash
cho trước. Xin lưu ý rằng API này chỉ trả về kết quả chính xác nếu tính năng lập chỉ mục được bật trong nút mạng bởi --sendertxhashindexing
. Sử dụng thuộc tính isSenderTxHashIndexingEnabled để kiểm tra xem tính năng lập chỉ mục đã được bật hay chưa.
Tham số
callback
Hàm
(tùy chọn) Hàm callback tùy chọn, trả về một đối tượng lỗi làm tham số thứ nhất và kết quả làm tham số thứ hai.
Giá trị trả về
Promise
trả về đối tượng
- Một đối tượng giao dịch hoặc null
khi không tìm thấy giao dịch:
blockHash
DỮ LIỆU 32 byte
Hàm băm của khối chứa giao dịch này. null
nếu đó là giao dịch đang chờ xử lý.
blockNumber
SỐ LƯỢNG
Số khối chứa giao dịch này. null
nếu đó là giao dịch đang chờ xử lý.
codeFormat
Chuỗi
(tùy chọn) Định dạng mã của mã hợp đồng thông minh.
feePayer
DỮ LIỆU 20 byte
Địa chỉ của người trả phí.
feePayerSignatures
Mảng
Mảng các đối tượng chữ ký của người trả phí. Một đối tượng chữ ký chứa ba trường (V, R và S). V chứa mã khôi phục ECDSA. R chứa chữ ký ECDSA r trong khi S chứa chữ ký ECDSA s.
feeRatio
SỐ LƯỢNG
(tùy chọn) Tỷ lệ phí của người trả phí. Nếu tỷ lệ là 30 thì người trả phí phải trả 30% phí. 70% còn lại sẽ được trả bởi người gửi.
từ
DỮ LIỆU 20 byte
Địa chỉ của người gửi.
gas
SỐ LƯỢNG
Gas được người gửi cung cấp.
giá gas
SỐ LƯỢNG
Giá gas được người gửi cung cấp theo đơn vị peb.
hash
DỮ LIỆU 32 byte
Hàm băm của giao dịch.
humanReadable
Boolean
(tùy chọn) true
nếu địa chỉ con người có thể đọc được, ngược lại sẽ là false
.
khóa
Chuỗi
(tùy chọn) Mã khóa của tài khoản mới tạo.
nhập
DATA
(tùy chọn) Dữ liệu được gửi cùng với giao dịch.
nonce
SỐ LƯỢNG
Số lượng giao dịch được người gửi thực hiện trước giao dịch này.
senderTxHash
DỮ LIỆU 32 byte
Hàm băm của một giao dịch chỉ được người gửi ký. Tham khảo SenderTxHash. Giá trị này luôn giống với hàm băm
đối với các giao dịch không phải trả phí.
chữ ký
Mảng
Một mảng các đối tượng chữ ký. Một đối tượng chữ ký chứa ba trường (V, R và S). V chứa mã khôi phục ECDSA. R chứa chữ ký ECDSA r trong khi S chứa chữ ký ECDSA s.
đến
DỮ LIỆU 20 byte
Địa chỉ của người nhận. null
nếu đó là giao dịch tạo hợp đồng.
transactionIndex
SỐ LƯỢNG
Giá trị nguyên biểu thị vị trí chỉ mục của giao dịch trong khối. null
nếu đó là giao dịch đang chờ xử lý.
type
Chuỗi
Chuỗi biểu thị loại giao dịch.
typeInt
SỐ LƯỢNG
Giá trị nguyên biểu thị loại giao dịch.
giá trị
SỐ LƯỢNG
Giá trị được chuyển tính bằng đơn vị peb.
Ví dụ
getTransactionFromBlock
Trả về một giao dịch dựa trên hàm băm hoặc số khối và vị trí chỉ mục của giao dịch.
Tham số
hashStringOrNumber
Chuỗi
Số khối hoặc hàm băm. Hoặc chuỗi "genesis"
hoặc "latest"
.
indexNumber
Số
Vị trí chỉ mục của giao dịch.
callback
Hàm
(tùy chọn) Hàm callback tùy chọn, trả về một đối tượng lỗi làm tham số thứ nhất và kết quả làm tham số thứ hai.
Giá trị trả về
Object
- Đối tượng giao dịch, tham khảo caver.klay.getTransaction
Ví dụ
getTransactionReceipt
Trả về biên lai của một giao dịch theo hàm băm giao dịch.
Tham số
transactionHash
Chuỗi
Hàm băm của giao dịch
callback
Hàm
(tùy chọn) Hàm callback tùy chọn, trả về một đối tượng lỗi làm tham số thứ nhất và kết quả làm tham số thứ hai.
Giá trị trả về
Promise
trả về đối tượng
- Đối tượng biên lai giao dịch hoặc null
khi không tìm thấy biên lai:i:
blockHash
Chuỗi 32 byte
Hàm băm của khối chứa giao dịch này.
blockNumber
Số
Số khối chứa giao dịch này.
codeFormat
Chuỗi
(tùy chọn) Định dạng mã của mã hợp đồng thông minh.
contractAddress
DATA
Địa chỉ hợp đồng được tạo nếu giao dịch là giao dịch tạo hợp đồng, nếu không, giá trị sẽ là null
.
feePayer
DỮ LIỆU 20 byte
(tùy chọn) Địa chỉ của người trả phí.
feePayerSignatures
Mảng
(tùy chọn) Mảng các đối tượng chữ ký của người trả phí. Một đối tượng chữ ký chứa ba trường (V, R và S). V chứa mã khôi phục ECDSA. R chứa chữ ký ECDSA r trong khi S chứa chữ ký ECDSA s.
feeRatio
SỐ LƯỢNG
(tùy chọn) Tỷ lệ phí của người trả phí. Nếu tỷ lệ là 30 thì người trả phí phải trả 30% phí. 70% còn lại sẽ được trả bởi người gửi.
từ
DỮ LIỆU 20 byte
Địa chỉ của người gửi.
gas
SỐ LƯỢNG
Gas được người gửi cung cấp.
giá gas
SỐ LƯỢNG
Giá gas được người gửi cung cấp theo đơn vị peb.
gasUsed
SỐ LƯỢNG
Lượng gas được sử dụng bởi riêng giao dịch cụ thể này.
humanReadable
Boolean
(tùy chọn) true
nếu địa chỉ con người có thể đọc được, ngược lại sẽ là false
.
khóa
Chuỗi
(tùy chọn) Mã khóa của tài khoản mới tạo.
nhập
DATA
(tùy chọn) Dữ liệu được gửi cùng với giao dịch.
nhật ký
Mảng
Mảng đối tượng bản ghi mà giao dịch này tạo ra.
nhật kýBloom
DỮ LIỆU 256 byte
Bộ lọc Bloom dành cho các ứng dụng khách nhẹ giúp truy xuất nhanh các bản ghi liên quan.
nonce
SỐ LƯỢNG
Số lượng giao dịch được người gửi thực hiện trước giao dịch này.
senderTxHash
DỮ LIỆU 32 byte
(tùy chọn) Hàm băm của một giao dịch chỉ được người gửi ký. Tham khảo SenderTxHash. Giá trị này luôn giống với transactionHash
đối với các giao dịch không ủy thác trả phí.
chữ ký
Mảng
Một mảng các đối tượng chữ ký. Một đối tượng chữ ký chứa ba trường (V, R và S). V chứa mã khôi phục ECDSA. R chứa chữ ký ECDSA r trong khi S chứa chữ ký ECDSA s.
trạng thái
Boolean
true
nếu giao dịch thành công, false
nếu Máy ảo Klaytn đặt lại giao dịch.
txError
SỐ LƯỢNG
(tùy chọn) mã lỗi chi tiết nếu trạng thái
bằng 0.
đến
DỮ LIỆU 20 byte
Địa chỉ của người nhận. null
nếu đó là giao dịch tạo hợp đồng.
transactionHash
DỮ LIỆU 32 byte
Hàm băm của giao dịch.
transactionIndex
SỐ LƯỢNG
Giá trị nguyên biểu thị vị trí chỉ mục của giao dịch trong khối.
type
Chuỗi
Chuỗi biểu thị loại giao dịch.
typeInt
SỐ LƯỢNG
Giá trị nguyên biểu thị loại giao dịch.
giá trị
SỐ LƯỢNG
Giá trị được chuyển tính bằng đơn vị peb.
Ví dụ
getTransactionReceiptBySenderTxHash
Trả về biên lai giao dịch được xác định bởi giá trị senderTxHash
cho trước.
LƯU Ý: Biên lai không khả dụng với giao dịch đang chờ xử lý. Xin lưu ý rằng API này chỉ trả về kết quả chính xác nếu tính năng lập chỉ mục được bật trong nút mạng bởi --sendertxhashindexing
. Có thể kiểm tra điều này bằng lệnh gọi isSenderTxHashIndexingEnabled.
Tham số
callback
Hàm
(tùy chọn) Hàm callback tùy chọn, trả về một đối tượng lỗi làm tham số thứ nhất và kết quả làm tham số thứ hai.
Giá trị trả về
Promise
trả về đối tượng
- Đối tượng biên lai giao dịch hoặc null
khi không tìm thấy biên lai:i:
blockHash
Chuỗi 32 byte
Hàm băm của khối chứa giao dịch này.
blockNumber
Số
Số khối chứa giao dịch này.
codeFormat
Chuỗi
(tùy chọn) Định dạng mã của mã hợp đồng thông minh.
contractAddress
DATA
Địa chỉ hợp đồng được tạo nếu giao dịch là giao dịch tạo hợp đồng, nếu không, giá trị sẽ là null
.
feePayer
DỮ LIỆU 20 byte
Địa chỉ của người trả phí.
feePayerSignatures
Mảng
Mảng các đối tượng chữ ký của người trả phí. Một đối tượng chữ ký chứa ba trường (V, R và S). V chứa mã khôi phục ECDSA. R chứa chữ ký ECDSA r trong khi S chứa chữ ký ECDSA s.
feeRatio
SỐ LƯỢNG
(tùy chọn) Tỷ lệ phí của người trả phí. Nếu tỷ lệ là 30 thì người trả phí phải trả 30% phí. 70% còn lại sẽ được trả bởi người gửi.
từ
DỮ LIỆU 20 byte
Địa chỉ của người gửi.
gas
SỐ LƯỢNG
Gas được người gửi cung cấp.
giá gas
SỐ LƯỢNG
Giá gas được người gửi cung cấp theo đơn vị peb.
gasUsed
SỐ LƯỢNG
Lượng gas được sử dụng bởi riêng giao dịch cụ thể này.
humanReadable
Boolean
(tùy chọn) true
nếu địa chỉ con người có thể đọc được, ngược lại sẽ là false
.
khóa
Chuỗi
(tùy chọn) Mã khóa của tài khoản mới tạo.
nhập
DATA
(tùy chọn) Dữ liệu được gửi cùng với giao dịch.
nhật ký
Mảng
Mảng đối tượng bản ghi mà giao dịch này tạo ra.
nhật kýBloom
DỮ LIỆU 256 byte
Bộ lọc Bloom dành cho các ứng dụng khách nhẹ giúp truy xuất nhanh các bản ghi liên quan.
nonce
SỐ LƯỢNG
Số lượng giao dịch được người gửi thực hiện trước giao dịch này.
senderTxHash
DỮ LIỆU 32 byte
Hàm băm của một giao dịch chỉ được người gửi ký. Tham khảo SenderTxHash. Giá trị này luôn giống với transactionHash
đối với các giao dịch không ủy thác trả phí.
chữ ký
Mảng
Một mảng các đối tượng chữ ký. Một đối tượng chữ ký chứa ba trường (V, R và S). V chứa mã khôi phục ECDSA. R chứa chữ ký ECDSA r trong khi S chứa chữ ký ECDSA s.
trạng thái
Boolean
true
nếu giao dịch thành công, false
nếu Máy ảo Klaytn đặt lại giao dịch.
txError
SỐ LƯỢNG
(tùy chọn) mã lỗi chi tiết nếu trạng thái
bằng 0.
đến
DỮ LIỆU 20 byte
Địa chỉ của người nhận. null
nếu đó là giao dịch tạo hợp đồng.
transactionHash
DỮ LIỆU 32 byte
Hàm băm của giao dịch.
transactionIndex
SỐ LƯỢNG
Giá trị nguyên biểu thị vị trí chỉ mục của giao dịch trong khối.
type
Chuỗi
Chuỗi biểu thị loại giao dịch.
typeInt
SỐ LƯỢNG
Giá trị nguyên biểu thị loại giao dịch.
giá trị
SỐ LƯỢNG
Giá trị được chuyển tính bằng đơn vị peb.
Ví dụ
sendSignedTransaction
Gửi giao dịch đã ký trước đó, được tạo bằng hàm caver.klay.tài khoảns.signTransaction
.
LƯU Ý caver.klay.sendSignedTransaction
có thể nhận một đối tượng làm tham số kể từ phiên bản caver-js v1.2.0. Đối tượng nên bao gồm một chuỗi giao dịch được mã hóa RLP hoặc nên là một đối tượng giao dịch chưa được mã hóa có chữ ký / chữ ký của người trả phí. Bạn có thể truyền đối tượng trả về từ caver.klay.tài khoảns.signTransaction, caver.klay.tài khoảns.feePayerSignTransaction, caver.klay.tài khoảns.getRawTransactionWithSignatures hoặc caver.klay.tài khoảns.combineSignatures.
Tham số
signedTransactionData
Chuỗi | Đối tượng
Một chuỗi giao dịch đã ký được mã hóa RLP, một đối tượng có chuỗi giao dịch đã ký được mã hóa RLP nằm trong thuộc tính rawTransaction
hoặc một đối tượng giao dịch chưa mã hóa chữ ký/chữ ký của người trả phí đính kèm.
callback
Hàm
(tùy chọn) Hàm callback tùy chọn, trả về một đối tượng lỗi làm tham số thứ nhất và kết quả làm tham số thứ hai.
Giá trị trả về
PromiEvent
Trình phát sự kiện kết hợp promise. Sẽ được xử lý khi có biên lai giao dịch.
Đối với PromiEvent, sẽ có các sự kiện sau đây:
"transactionHash"
trả vềString
: Được kích hoạt ngay sau khi gửi giao dịch và có hàm băm giao dịch."receipt"
trả vềObject
: Được kích hoạt khi có sẵn biên lai giao dịch."error"
trả vềError
: Được kích hoạt nếu có lỗi phát sinh trong quá trình gửi. Khi xảy ra lỗi hết gas, tham số thứ hai sẽ là biên lai.
Ví dụ
sendTransaction
signTransaction
Ký giao dịch. Tài khoản này cần ở trạng thái mở khóa.
Tham số
transactionObject
Đối tượng
Dữ liệu giao dịch cần ký.
callback
Hàm
(tùy chọn) Hàm callback tùy chọn, trả về một đối tượng lỗi làm tham số thứ nhất và kết quả làm tham số thứ hai.
Giá trị trả về
Promise
trả về Object
- Giao dịch được mã hóa RLP. Có thể sử dụng thuộc tính raw
để gửi giao dịch bằng cách sử dụng hàm caver.klay.sendSignedTransaction.
Ví dụ
Last updated