Giao dịch

lệnh gọi

caver.klay.call(callObject [, defaultBlock] [, callback])

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ố

TêntypeMô tả

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ụ

> caver.klay.call({
    to: "0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe", // contract address
    data: "0xc6888fa10000000000000000000000000000000000000000000000000000000000000003"
})
.then(console.log);

"0x000000000000000000000000000000000000000000000000000000000000000a"

estimateGas

caver.klay.estimateGas(callObject [, callback])

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ố

TênLoạiMô tả

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ụ

> caver.klay.estimateGas({
    to: "0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe",
    data: "0xc6888fa10000000000000000000000000000000000000000000000000000000000000003"
})
.then(console.log);

40

estimateComputationCost

caver.klay.estimateComputationCost(callObject [, defaultBlock] [, callback])

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ố

TêntypeMô tả

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ụ

> caver.klay.estimateComputationCost({
        to: '0xf796b2F18507Ec8F8C19e9F0c03092888093ebAc',
        data : '0xd14e62b80000000000000000000000000000000000000000000000000000000000000022'
    }).then(console.log);
0x5773

// With 'latest' block tag
> caver.klay.estimateComputationCost({
        to: '0xf796b2F18507Ec8F8C19e9F0c03092888093ebAc',
        data : '0xd14e62b80000000000000000000000000000000000000000000000000000000000000022'
    }, 'latest').then(console.log);
0x5773

decodeTransaction

caver.klay.decodeTransaction(rawTransaction)

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 signaturesfeePayerSignatures đã được thêm vào kể từ phiên bản caver-js v1.2.0-rc.3.

Tham số

TênLoạiMô tả

rawTransaction

Chuỗi

Dữ liệu của giao dịch mã hóa RLP.

Giá trị trả về

LoạiMô tả

Đố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ụ

// Giao dịch cơ bản
> caver.klay.decodeTransaction('0xf86b038505d21dba00843b9ac9ff94d03227635c90c7986f0e3a4e551cefbca8c5531685174876e8008026a06fc7412ad1801b4790e7a5a5097fdbef01bc9fe1b970d08232184d110226c221a04665f772edbc4ba4dfbf189d89a9b9cb1e5cdcea0fd5a8b1a497b9c275e5267c')
{ 
    type: 'LEGACY',
    nonce: '0x03',
    gasPrice: '0x05d21dba00',
    gas: '0x3b9ac9ff',
    to: '0xd03227635c90c7986f0e3a4e551cefbca8c55316',
    value: '0x174876e800',
    data: '0x',
    v: '0x26',
    r: '0x6fc7412ad1801b4790e7a5a5097fdbef01bc9fe1b970d08232184d110226c221',
    s: '0x4665f772edbc4ba4dfbf189d89a9b9cb1e5cdcea0fd5a8b1a497b9c275e5267c',
    signatures: [ 
        '0x26',
        '0x6fc7412ad1801b4790e7a5a5097fdbef01bc9fe1b970d08232184d110226c221',
        '0x4665f772edbc4ba4dfbf189d89a9b9cb1e5cdcea0fd5a8b1a497b9c275e5267c' 
    ]
}

// Ủy thác phí
> caver.klay.decodeTransaction('0x09f8dd2c8505d21dba00830dbba094a36960d00c9cbf10e80928eead73ff308193bde70194ad8d5b8c7da3746df7de39c41fa572d660aa8e91f847f845824e43a099c0a4c85bb9f2c0be2646b963201680e2f76128e4fd1f54d3f9cf80d1d117e7a069b62aa6640c8aa3606a67869fe062dde1c61a60aea5c5161550ff11ee71c24b946a4b71a6796c2fd376fb0526385e0783da86a039f847f845824e43a0bdfdc50649c8f52930a330b2e44d92f8943b28c7ff7edd8ff7f2f95e617c0d77a06e96bdd983494f6967f1a26d2f0ae991a4e8ebef1ac3c9029251a18c19002ab3')
{ 
    type: 'FEE_DELEGATED_VALUE_TRANSFER',
    nonce: '0x2c',
    gasPrice: '0x05d21dba00',
    gas: '0x0dbba0',
    to: '0xa36960d00c9cbf10e80928eead73ff308193bde7',
    value: '0x01',
    from: '0xad8d5b8c7da3746df7de39c41fa572d660aa8e91',
    v: '0x4e43',
    r: '0x99c0a4c85bb9f2c0be2646b963201680e2f76128e4fd1f54d3f9cf80d1d117e7',
    s: '0x69b62aa6640c8aa3606a67869fe062dde1c61a60aea5c5161550ff11ee71c24b',
    signatures: [
        [ 
            '0x4e43',
            '0x99c0a4c85bb9f2c0be2646b963201680e2f76128e4fd1f54d3f9cf80d1d117e7',
            '0x69b62aa6640c8aa3606a67869fe062dde1c61a60aea5c5161550ff11ee71c24b' 
        ] 
    ],
    feePayer: '0x6a4b71a6796c2fd376fb0526385e0783da86a039',
    payerV: '0x4e43',
    payerR: '0xbdfdc50649c8f52930a330b2e44d92f8943b28c7ff7edd8ff7f2f95e617c0d77',
    payerS: '0x6e96bdd983494f6967f1a26d2f0ae991a4e8ebef1ac3c9029251a18c19002ab3',
    feePayerSignatures: [ 
        [ 
            '0x4e43',
            '0xbdfdc50649c8f52930a330b2e44d92f8943b28c7ff7edd8ff7f2f95e617c0d77',
            '0x6e96bdd983494f6967f1a26d2f0ae991a4e8ebef1ac3c9029251a18c19002ab3' 
        ] 
    ]
}

// Ủy thác phí một phần
> caver.klay.decodeTransaction('0x2af902ca0a8505d21dba00843b9ac9ff80809490b3e9a3770481345a7f17f22f16d020bccfd33eb901fe608060405234801561001057600080fd5b506101de806100206000396000f3006080604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631a39d8ef81146100805780636353586b146100a757806370a08231146100ca578063fd6b7ef8146100f8575b3360009081526001602052604081208054349081019091558154019055005b34801561008c57600080fd5b5061009561010d565b60408051918252519081900360200190f35b6100c873ffffffffffffffffffffffffffffffffffffffff60043516610113565b005b3480156100d657600080fd5b5061009573ffffffffffffffffffffffffffffffffffffffff60043516610147565b34801561010457600080fd5b506100c8610159565b60005481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081208054349081019091558154019055565b60016020526000908152604090205481565b336000908152600160205260408120805490829055908111156101af57604051339082156108fc029083906000818181858888f193505050501561019c576101af565b3360009081526001602052604090208190555b505600a165627a7a72305820627ca46bb09478a015762806cc00c431230501118c7c26c30ac58c4e09e51c4f0029802180f845f84325a0d8cdc1219df8bbca8a00255420a5bec0f602e6266b76ce7dcf5b0b26bd7fe3b9a05557496a3a17f784c3eb40acbb526dfbc20ae6b00c633a0186d804cd9137b13e9433f524631e573329a550296f595c820d6c65213ff845f84325a041a4c4bf0e3039d04472beae4135a14c26ae4c88bad08d5f0acf61f7c0eb60dfa03d1658f38e5c2089d64985fb33cb13db2e41cde6958ba2cfcfaba685a7f565e2')
{ 
    type: 'FEE_DELEGATED_SMART_CONTRACT_DEPLOY_WITH_RATIO',
    nonce: '0x0a',
    gasPrice: '0x05d21dba00',
    gas: '0x3b9ac9ff',
    to: '0x',
    value: '0x',
    from: '0x90b3e9a3770481345a7f17f22f16d020bccfd33e',
    data: '0x608060405234801561001057600080fd5b506101de806100206000396000f3006080604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631a39d8ef81146100805780636353586b146100a757806370a08231146100ca578063fd6b7ef8146100f8575b3360009081526001602052604081208054349081019091558154019055005b34801561008c57600080fd5b5061009561010d565b60408051918252519081900360200190f35b6100c873ffffffffffffffffffffffffffffffffffffffff60043516610113565b005b3480156100d657600080fd5b5061009573ffffffffffffffffffffffffffffffffffffffff60043516610147565b34801561010457600080fd5b506100c8610159565b60005481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081208054349081019091558154019055565b60016020526000908152604090205481565b336000908152600160205260408120805490829055908111156101af57604051339082156108fc029083906000818181858888f193505050501561019c576101af565b3360009081526001602052604090208190555b505600a165627a7a72305820627ca46bb09478a015762806cc00c431230501118c7c26c30ac58c4e09e51c4f0029',
    humanReadable: false,
    feeRatio: '0x21',
    codeFormat: '0x',
    v: '0x25',
    r: '0xd8cdc1219df8bbca8a00255420a5bec0f602e6266b76ce7dcf5b0b26bd7fe3b9',
    s: '0x5557496a3a17f784c3eb40acbb526dfbc20ae6b00c633a0186d804cd9137b13e',
    signatures: [ 
        [ 
            '0x25',
            '0xd8cdc1219df8bbca8a00255420a5bec0f602e6266b76ce7dcf5b0b26bd7fe3b9',
            '0x5557496a3a17f784c3eb40acbb526dfbc20ae6b00c633a0186d804cd9137b13e' 
        ] 
    ],
    feePayer: '0x33f524631e573329a550296f595c820d6c65213f',
    payerV: '0x25',
    payerR: '0x41a4c4bf0e3039d04472beae4135a14c26ae4c88bad08d5f0acf61f7c0eb60df',
    payerS: '0x3d1658f38e5c2089d64985fb33cb13db2e41cde6958ba2cfcfaba685a7f565e2',
    feePayerSignatures: [ 
        [ 
            '0x25',
            '0x41a4c4bf0e3039d04472beae4135a14c26ae4c88bad08d5f0acf61f7c0eb60df',
            '0x3d1658f38e5c2089d64985fb33cb13db2e41cde6958ba2cfcfaba685a7f565e2' 
        ] 
    ]
}

getTransaction

caver.klay.getTransaction(transactionHash [, callback])

Trả về giao dịch khớp với hàm băm giao dịch đã cho.

Tham số

TêntypeMô tả

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:

TênLoạiMô tả

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ụ

> caver.klay.getTransaction('0x2d26f602cfbb4c662931592bf2c4ee18d29f09683be5b9e8d589ff935fca0b97')
  .then(console.log);
{ 
    blockHash: '0xd6f3bc2bd7853ed423677766b5332c3e55d900abf4252ede196661cd58e817a6',
    blockNumber: 141766,
    from: '0x8948Ab8526fDA9a7349Ee8FCa5372e46d0268777',
    gas: 20000000,
    gasPrice: '25000000000',
    hash: '0x2d26f602cfbb4c662931592bf2c4ee18d29f09683be5b9e8d589ff935fca0b97',
    input: '0x',
    nonce: 8,
    signatures:[{ 
        V: '0xfe9',
        R: '0x76a0ac07a371fe3849f46a115d62830e611e62fab91714bb66fe18a937557666',
        S: '0x1daace52366434ab11287d4f5ebe9c87f314e45d13f05093bbcdd5862fcf462e' 
    }],
    to: '0x2259cFDae62F9853f84298aAf20C999391B1c6a3',
    transactionIndex: 0,
    type: 'TxTypeLegacyTransaction',
    typeInt: 0,
    value: '1' 
}

getTransactionBySenderTxHash

caver.klay.getTransactionBySenderTxHash(senderTxHash [, callback])

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ố

TênLoạiMô tả

senderTxHash

Chuỗi

Hàm băm của một giao dịch chỉ được người gửi ký. Tham khảo SenderTxHash.

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:

TênLoạiMô tả

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ụ

> caver.klay.getTransactionBySenderTxHash('0x8c0b092fed92a6619666efd582f7d71fbc3d784781072dd26741715b3731ab22').then(console.log);
{
    blockHash: '0x56e950bd9283c11ad2dab7cfcbacd9164aff2f6cbeb99dd2a7b754eb210753af',
    blockNumber: 773,
    codeFormat: '0x0',
    feePayer: '0xabae1fe62aebbfabeff072eb815d54c3359a45f4',
    feePayerSignatures: [
        { 
            V: '0x4e43',
            R: '0x16293eefe0f13228ae47af67ecfe659448d8f80d9667a67a25d82c72b5ee246a',
            S: '0x3c4043324bee41a6cbab905d3b4e740a3a18fde021260fc1196f73d2ab037b91' } ],
    feeRatio: '0x14',
    from: '0x3F0E31836C7AABb4C9e9B19d5D61359a9139E949',
    gas: 900000,
    gasPrice: '25000000000',
    hash: '0x2ab7665d25f8f64969fa03b8d5e40a70485bb56a4e72ca2fe1e467fff904c173',
    humanReadable: false,
    input: '0x6080604052600080556040516020806101fa8339810180604052810190808051906020019092919050505080600081905550506101b9806100416000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd1461006757806342cbb15c14610092578063a87d942c146100bd578063d14e62b8146100e8575b600080fd5b34801561007357600080fd5b5061007c610108565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100a761010e565b6040518082815260200191505060405180910390f35b3480156100c957600080fd5b506100d2610116565b6040518082815260200191505060405180910390f35b6101066004803603810190808035906020019092919050505061014c565b005b60005481565b600043905090565b60007f7197668b8690d2324050bc9ad83b2b5ca0b3f5336cb178ffa2aa07006b51b65160405160405180910390a1600054905090565b7fe8451a9161f9159bc887328b634789768bd596360ef07c5a5cbfb927c44051f9816040518082815260200191505060405180910390a180600081905550505600a165627a7a723058203cb41ebe3d7128a72c997645693c64789a9b5fdeae26158fb28b55e567e805c700290000000000000000000000000000000000000000000000000000000000000001',
    nonce: 9,
    senderTxHash: '0x8c0b092fed92a6619666efd582f7d71fbc3d784781072dd26741715b3731ab22',
    signatures: [
        { 
            V: '0x4e43',
            R: '0x1b48ee0508d242c9568d7e09212d62137080d68d86c1d067b31b4bb4196c9960',
            S: '0x24982f60b37859d7c39d7bd9c00b446196b3a08b27f80dbc9ceca8ee52513b11' 
        } 
    ],
    to: null,
    transactionIndex: 0,
    type: 'TxTypeFeeDelegatedSmartContractDeployWithRatio',
    typeInt: 42,
    value: '1'
}

getTransactionFromBlock

caver.klay.getTransactionFromBlock(hashStringOrNumber, indexNumber [, callback])

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ố

TêntypeMô tả

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ụ

> caver.klay.getTransactionFromBlock('0x4534534534', 2).then(console.log);
// see caver.klay.getTransaction

getTransactionReceipt

caver.klay.getTransactionReceipt(transactionHash [, callback])

Trả về biên lai của một giao dịch theo hàm băm giao dịch.

Tham số

TênLoạiMô tả

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:

TêntypeMô tả

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ụ

> caver.klay.getTransactionReceipt('0x9108f22693de7b16ece4db2c8d11c004feae31973acc2ecb9dbd61cd57bb0d7b')
  .then(console.log);
{ 
    blockHash: '0x62f0b4e4d2c0fdeda968bf82688a6b4426fb0b75c83ebd39a04633e087060f00',
    blockNumber: 140949,
    contractAddress: null,
    from: '0x8948ab8526fda9a7349ee8fca5372e46d0268777',
    gas: '0x1312d00',
    gasPrice: '0x5d21dba00',
    gasUsed: 21000,
    input: '0x',
    nhật ký: [],
    nhật kýBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
    nonce: '0x6',
    signatures: [{ 
        V:'0xfe9',
        R:'0x95e5fc90a27b4a364f4047072474147fb8885213acbc4ac89902da28ddea3931',
        S:'0xeebe7d37c047f6a7b841da5c6ff2849eb6f99b689666da30f48b60a12028e59' 
    }],
    trạng thái: true,
    to: '0x2259cfdae62f9853f84298aaf20c999391b1c6a3',
    transactionHash: '0x9108f22693de7b16ece4db2c8d11c004feae31973acc2ecb9dbd61cd57bb0d7b',
    transactionIndex: 0,
    type: 'TxTypeLegacyTransaction',
    typeInt: 0,
    value: '0x1'
}

getTransactionReceiptBySenderTxHash

caver.klay.getTransactionReceiptBySenderTxHash(senderTxHash [, callback])

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ố

TênLoạiMô tả

senderTxHash

Chuỗi

Hàm băm của một giao dịch chỉ được người gửi ký. Tham khảo SenderTxHash.

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:

TênLoạiMô tả

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ụ

> caver.klay.getTransactionReceiptBySenderTxHash('0x8c0b092fed92a6619666efd582f7d71fbc3d784781072dd26741715b3731ab22').then(console.log);
{
    blockHash: '0x56e950bd9283c11ad2dab7cfcbacd9164aff2f6cbeb99dd2a7b754eb210753af',
    blockNumber: 773,
    codeFormat: '0x0',
    contractAddress: '0x71163abc3b051bC2Af71e7c68eD0ffeA6182cde1',
    feePayer: '0xabae1fe62aebbfabeff072eb815d54c3359a45f4',
    feePayerSignatures: [
        { 
            V: '0x4e43',
            R: '0x16293eefe0f13228ae47af67ecfe659448d8f80d9667a67a25d82c72b5ee246a',
            S: '0x3c4043324bee41a6cbab905d3b4e740a3a18fde021260fc1196f73d2ab037b91' 
        }
    ],
    feeRatio: '0x14',
    from: '0x3f0e31836c7aabb4c9e9b19d5d61359a9139e949',
    gas: '0xdbba0',
    gasPrice: '0x5d21dba00',
    gasUsed: 235217,
    humanReadable: false,
    input: '0x6080604052600080556040516020806101fa8339810180604052810190808051906020019092919050505080600081905550506101b9806100416000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd1461006757806342cbb15c14610092578063a87d942c146100bd578063d14e62b8146100e8575b600080fd5b34801561007357600080fd5b5061007c610108565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100a761010e565b6040518082815260200191505060405180910390f35b3480156100c957600080fd5b506100d2610116565b6040518082815260200191505060405180910390f35b6101066004803603810190808035906020019092919050505061014c565b005b60005481565b600043905090565b60007f7197668b8690d2324050bc9ad83b2b5ca0b3f5336cb178ffa2aa07006b51b65160405160405180910390a1600054905090565b7fe8451a9161f9159bc887328b634789768bd596360ef07c5a5cbfb927c44051f9816040518082815260200191505060405180910390a180600081905550505600a165627a7a723058203cb41ebe3d7128a72c997645693c64789a9b5fdeae26158fb28b55e567e805c700290000000000000000000000000000000000000000000000000000000000000001',
    nhật ký: [],
    nhật kýBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
    nonce: '0x9',
    senderTxHash: '0x8c0b092fed92a6619666efd582f7d71fbc3d784781072dd26741715b3731ab22',
    signatures: [ 
        { 
            V: '0x4e43',
            R: '0x1b48ee0508d242c9568d7e09212d62137080d68d86c1d067b31b4bb4196c9960',
            S: '0x24982f60b37859d7c39d7bd9c00b446196b3a08b27f80dbc9ceca8ee52513b11' 
        }
    ],
    trạng thái: true,
    to: null,
    transactionHash: '0x2ab7665d25f8f64969fa03b8d5e40a70485bb56a4e72ca2fe1e467fff904c173',
    transactionIndex: 0,
    type: 'TxTypeFeeDelegatedSmartContractDeployWithRatio',
    typeInt: 42,
    value: '0x1'
}

sendSignedTransaction

caver.klay.sendSignedTransaction(signedTransactionData [, callback])

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ố

TênLoạiMô tả

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ề

LoạiMô tả

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ụ

// sendSignedTransaction sử dụng promise với chuỗi giao dịch đã ký được mã hóa RLP 
caver.klay.sendSignedTransaction('0xf867808505d21dba0083015f9094247f2b7e9a9c51ebcc9449c7d9e7575f9baac36e0180824e43a02e50f5c4d279e17a80c3fe98327de7e48878e9d8141d26759ef64adcf66e6aa0a02ae9e8beac1ba8d5d215d87c33f9e05263b0bad163706c9dd7a563ee1e028f41').then(function(receipt){
    ...
})

// sendSignedTransaction sử dụng promise với đối tượng trả về từ caver.klay.tài khoảns.signTransaction
caver.klay.sendSignedTransaction({
    messageHash: '0x2378aeb6439f43597e30df4937f59eb13c98e502bb03babcebb39bf602cd8d73',
    v: '0x4e43',
    r: '0x9fc6cfd3d7c35794ab373c8d7f15746f1f4fa94c80e31270eea31977f20aaa9a',
    s: '0x762343c55f7c1de87e5877887b9d10ed93b16666f4bdbc525aeee1f23fb53457',
    rawTransaction: '0xf867018505d21dba0083015f9094cdba9992ffd79b12ce68905db40bf5e873b1a43e0180824e43a09fc6cfd3d7c35794ab373c8d7f15746f1f4fa94c80e31270eea31977f20aaa9aa0762343c55f7c1de87e5877887b9d10ed93b16666f4bdbc525aeee1f23fb53457',
    txHash: '0x3d598805e1565ba5c4a1d2b708aff9825562d903bef4301ef22564253c6779bf',
    senderTxHash: '0x3d598805e1565ba5c4a1d2b708aff9825562d903bef4301ef22564253c6779bf',
    signatures: [
        '0x4e43',
        '0x9fc6cfd3d7c35794ab373c8d7f15746f1f4fa94c80e31270eea31977f20aaa9a',
        '0x762343c55f7c1de87e5877887b9d10ed93b16666f4bdbc525aeee1f23fb53457',
    ],
}).then(function(receipt){
    ...
})

// sendSignedTransaction sử dụng promise với đối tượng giao dịch có các chữ ký
caver.klay.sendSignedTransaction({
    type: 'LEGACY',
    from: '0x73647c5fd1a66fac0dbf2af2e5cc7f593a015441',
    to: '0x82c5b8f3ae5c08eeb64a1af0ce89cb5233b05c6c',
    value: '0x1',
    gas: '0x15f90',
    gasPrice: '0x5d21dba00',
    nonce: '0x2',
    signatures: [
        '0x4e43',
        '0x077b0ec1dd5dd66ffbf7d779b08bed6166ec1b0269d85a3901dbfb55331216de',
        '0x23b7565fa994ba3f88290de9b7f6b6b975f2ad9c19ce1ffc4752ecbc51b6c274',
    ],
}).then(function(receipt){
    ...
})

// sendSignedTransaction sử dụng promise với đối tượng giao dịch ủy thác trả phí có các chữ ký và feePayerSignatures
caver.klay.sendSignedTransaction({
    type: 'FEE_DELEGATED_VALUE_TRANSFER',
    from: '0x73647c5fd1a66fac0dbf2af2e5cc7f593a015441',
    to: '0x73f9b11bd22fde3ec543f3fcbdc39fc40a942bf7',
    value: '0x1',
    gas: '0x15f90',
    gasPrice: '0x5d21dba00',
    chainId: '0x2710',
    nonce: '0x3',
    humanReadable: false,
    feePayer: '0xebcd0271c4f8d2a84a33e073a5c9bcdb6bafc556',
    signatures: [
        [
            '0x4e44',
            '0x41dfab76e0fdcdb5c4cd4dbe39861029d8c7f156f9dd10e8292625492943e689',
            '0x789f1bfc42a96366ea0bdc6727410a661fe8300cdf57889316c25aa873a5b85c',
        ],
    ],
    feePayerSignatures: [
        [
            '0x4e44',
            '0x833031cb1d709a408f1c3b83cea88671d9d86f7550101e4e7221507a39dcd462',
            '0x03f1d8003513b038195c6d798623d5bb132a93e7f2f0a2c302079b92858ea8e7',
        ],
    ],
}).then(function(receipt){
    ...
})

// sendSignedTransaction sử dụng bộ phát hiệu ứng sự kiện với chuỗi giao dịch đã ký được mã hóa RLP
> caver.klay.sendSignedTransaction('0xf867068505d21dba0083015f90940fd7697a8b9a46b0f770a3986e8a10b6ad6fffe10180824e44a0e591e4cbf4bdada2e559ce5b9c7b604c50d3b1d7d5a29939091bcc8ad4208aa3a01ef917ec539aa79b32a043b452e81840ea012796895cd5925273fd8df139595f')
.on('transactionHash', function(hash){
    ...
})
.on('receipt', function(receipt){
    ...
})
.on('error', console.error)

sendTransaction

signTransaction

caver.klay.signTransaction(transactionObject [, callback])

Ký giao dịch. Tài khoản này cần ở trạng thái mở khóa.

Tham số

TêntypeMô tả

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ụ

> caver.klay.signTransaction({
    nonce: 0,
    from: "0xEB014f8c8B418Db6b45774c326A0E64C78914dC0",
    gasPrice: '25000000000',
    gas: "21000",
    to: '0x3535353535353535353535353535353535353535',
    value: "1000000000000000000",
    data: ""
}).then(console.log);

{
    raw: '0xf86c808504a817c800825208943535353535353535353535353535353535353535880de0b6b3a76400008025a04f4c17305743700648bc4f6cd3038ec6f6af0df73e31757007b7f59df7bee88da07e1941b264348e80c78c4027afc65a87b0a5e43e86742b8ca0823584c6788fd0',
    tx: {
        nonce: '0x0',
        gasPrice: '25000000000',
        gas: '0x5208',
        to: '0x3535353535353535353535353535353535353535',
        value: '0xde0b6b3a7640000',
        input: '0x',
        v: '0x25',
        r: '0x4f4c17305743700648bc4f6cd3038ec6f6af0df73e31757007b7f59df7bee88d',
        s: '0x7e1941b264348e80c78c4027afc65a87b0a5e43e86742b8ca0823584c6788fd0',
        hash: '0xda3be87732110de6c1354c83770aae630ede9ac308d9f7b399ecfba23d923384'
    }
}

Last updated