caver.rpc.klay
caver.rpc.klay "使用 "governance "名稱空間提供 JSON-RPC 調用。
caver.rpc.klay.accountCreated
caver.rpc.klay.accountCreated(address [, blockNumber] [, callback])
如果與地址相關的賬戶是在 kaia 區塊鏈平臺上創建的,則返回 true
。 否則返回 false
。
參數
名稱 | 類型 | 描述 |
---|---|---|
地址 | 字符串 | 您要查詢的賬戶地址,以查看該賬戶是否已在網絡上創建。 |
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
boolean | kaia 中輸入地址的存在 |
示例
> caver.rpc.klay.accountCreated('0x{address in hex}').then(console.log)true
caver.rpc.klay.getAccount
caver.rpc.klay.getAccount(address [, blockNumber] [, callback])
返回 kaia 中給定地址的賬戶信息。 有關 kaia 帳戶類型的更多詳情,請參閱 [Kaia 帳戶類型](.../.../.../.../.../.../learn/accounts.md#klaytn-account-types)。
NOTE caver.rpc.klay.getAccount
返回網絡上存在的賬戶,因此如果實際區塊鏈網絡上不存在與地址匹配的賬戶,則返回null
。
參數
名稱 | 類型 | 描述 |
---|---|---|
地址 | 字符串 | 您要查看賬戶信息的賬戶地址。 |
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
對象 | 包含賬戶信息的對象。 每種賬戶類型都有不同的屬性。 |
示例
// Get account with EOA> caver.rpc.klay.getAccount('0x{address in hex}').then(console.log){ accType: 1, account: { nonce: 0, balance: '0x', humanReadable: false, key: { keyType: 1, key: {} } }}// Get account with SCA> caver.rpc.klay.getAccount('0x{address in hex}').then(console.log){ accType: 2, account: { nonce: 1, balance: '0x0', humanReadable: false, key: { keyType: 3, key: {} }, storageRoot: '0xd0ce6b9ba63cf727d48833bcaf69f398bb353e9a5b6235ac5bb3a8e95ff90ecf', codeHash: '7pemrmP8fcguH/ut/SYHJoUSecfUIcUyeCpMf0sBYVI=', codeFormat: 0 }}
caver.rpc.klay.getAccountKey
caver.rpc.klay.getAccountKey(address [, blockNumber] [, callback])
返回給定地址的 AccountKey。 如果賬戶具有 AccountKeyLegacy 或給定地址的賬戶是 Smart Contract Account ,則將返回空鍵值。 詳情請參閱 [Account Key](.../.../.../.../.../learn/accounts.md#account-key)。
注意 caver.rpc.klay.getAccountKey
返回的對象因 AccountKey 類型而異。 如果網絡中不存在與給定地 址匹配的 kaia 帳戶,則返回null
。
參數
名稱 | 類型 | 描述 |
---|---|---|
地址 | 字符串 | 您要從中獲取 AccountKey 信息對象的 kaia 賬戶地址。 |
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
對象 | 包含 AccountKey 信息的對象。 每種 AccountKey 類型都有不同的屬性。 |
示例
// AccountKey type: AccountKeyLegacy> caver.rpc.klay.getAccountKey('0x{address in hex}').then(console.log){ keyType: 1, key: {} }// AccountKey type: AccountKeyPublic> caver.rpc.klay.getAccountKey('0x{address in hex}').then(console.log){ keyType: 2, key: { x:'0xb9a4b...', y:'0x7a285...' }}// AccountKey type: AccountKeyFail> caver.rpc.klay.getAccountKey('0x{address in hex}').then(console.log){ keyType: 3, key:{} }// AccountKey type: AccountKeyWeightedMultiSig> caver.rpc.klay.getAccountKey('0x{address in hex}').then(console.log){ keyType: 4, key: { threshold: 2, keys: [ { weight: 1, key: { x: '0xae6b7...', y: '0x79ddf...' } }, { weight: 1, key: { x: '0xd4256...', y: '0xfc5e7...' } }, { weight: 1, key: { x: '0xd653e...', y: '0xe974e...' } } ] }}// AccountKey type: AccountKeyRoleBased> caver.rpc.klay.getAccountKey('0x{address in hex}').then(console.log){ keyType: 5, key: [ { key: { x: '0x81965...', y: '0x18242...' }, keyType: 2 }, { key: { x: '0x73363...', y: '0xfc3e3...' }, keyType: 2 }, { key: { x: '0x95c92...', y: '0xef783...' }, keyType: 2 } ]}
caver.rpc.klay.encodeAccountKey
caver.rpc.klay.encodeAccountKey(accountKey] [, callback])
使用遞歸長度前綴(RLP)編碼方案對包含 AccountKey 信息的對象進行編碼。 您還可以使用 account.getRLPEncodingAccountKey 獲取 RLP 編碼的 AccountKey。
參數:
名稱 | 類型 | 描述 |
---|---|---|
accountKey | 對象 | An object defines keyType and key inside or an instance of AccountKey (AccountKeyLegacy, AccountKeyPublic, AccountKeyFail、AccountKeyWeightedMultiSig或AccountKeyRoleBased)。 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | RLP 編碼的 AccountKey。 |
示例
// AccountKey type: AccountKeyLegacy> caver.rpc.klay.encodeAccountKey({ keyType: 1, key: {} }).then(console.log)0x01c0// AccountKey type: AccountKeyPublic> caver.rpc.klay.encodeAccountKey({ keyType: 2, key: { x: '0xdbac81e8486d68eac4e6ef9db617f7fbd79a04a3b323c982a09cdfc61f0ae0e8', y: '0x906d7170ba349c86879fb8006134cbf57bda9db9214a90b607b6b4ab57fc026e', }, }).then(console.log)0x02a102dbac81e8486d68eac4e6ef9db617f7fbd79a04a3b323c982a09cdfc61f0ae0e8// AccountKey type: AccountKeyFail> caver.rpc.klay.encodeAccountKey({ keyType: 3, key: {} }).then(console.log)0x03c0// AccountKey type: AccountKeyWeightedMultiSig> caver.rpc.klay.encodeAccountKey({ keyType: 4, key: { threshold: 2, keys: [ { weight: 1, key: { x: '0xc734b50ddb229be5e929fc4aa8080ae8240a802d23d3290e5e6156ce029b110e', y: '0x61a443ac3ffff164d1fb3617875f07641014cf17af6b7dc38e429fe838763712', }, }, { weight: 1, key: { x: '0x12d45f1cc56fbd6cd8fc877ab63b5092ac77db907a8a42c41dad3e98d7c64dfb', y: '0x8ef355a8d524eb444eba507f236309ce08370debaa136cb91b2f445774bff842', }, }, ], }, }).then(console.log)0x04f84b02f848e301a102c734b50ddb229be5e929fc4aa8080ae8240a802d23d3290e5e6156ce029b110ee301a10212d45f1cc56fbd6cd8fc877ab63b5092ac77db907a8a42c41dad3e98d7c64dfb// AccountKey type: AccountKeyRoleBased> caver.rpc.klay.encodeAccountKey({ keyType: 5, key: [ { keyType: 2, key: { x: '0xe4a01407460c1c03ac0c82fd84f303a699b210c0b054f4aff72ff7dcdf01512d', y: '0xa5735a23ce1654b14680054a993441eae7c261983a56f8e0da61280758b5919', }, }, { keyType: 4, key: { threshold: 2, keys: [ { weight: 1, key: { x: '0xe4a01407460c1c03ac0c82fd84f303a699b210c0b054f4aff72ff7dcdf01512d', y: '0xa5735a23ce1654b14680054a993441eae7c261983a56f8e0da61280758b5919', }, }, { weight: 1, key: { x: '0x36f6355f5b532c3c1606f18fa2be7a16ae200c5159c8031dd25bfa389a4c9c06', y: '0x6fdf9fc87a16ac359e66d9761445d5ccbb417fb7757a3f5209d713824596a50d', }, }, ], }, }, { keyType: 2, key: { x: '0xc8785266510368d9372badd4c7f4a94b692e82ba74e0b5e26b34558b0f081447', y: '0x94c27901465af0a703859ab47f8ae17e54aaba453b7cde5a6a9e4a32d45d72b2', }, }, ], }).then(console.log)0x05f898a302a103e4a01407460c1c03ac0c82fd84f303a699b210c0b054f4aff72ff7dcdf01512db84e04f84b02f848e301a103e4a01407460c1c03ac0c82fd84f303a699b210c0b054f4aff72ff7dcdf01512de301a10336f6355f5b532c3c160// Use an AccountKey instance> const accountKey = caver.account.create('0x{address in hex}', '0xf1d2e...').accountKey> caver.rpc.klay.encodeAccountKey(accountKey).then(console.log)0x02a102f1d2e558cfa07151534cd406b1ac5c25d99e9c1cf925328d14fd15c6fe50df27
caver.rpc.klay.decodeAccountKey
caver.rpc.klay.decodeAccountKey(encodedKey] [, callback])
解碼 RLP 編碼的 AccountKey。 您也可以使用 caver.account.accountKey.decode 來解碼 RLP 編碼的 AccountKey。
參數:
名稱 | 類型 | 描述 |
---|---|---|
加密密碼 | 字符串 | RLP 編碼的 AccountKey。 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
對象 | 對象內部定義了 keyType 和 key 。 |
示例
// AccountKey type: AccountKeyLegacy> caver.rpc.klay.decodeAccountKey('0x01c0').then(console.log){ keyType: 1, key: {} }// AccountKey type: AccountKeyPublic> caver.rpc.klay.decodeAccountKey('0x02a102dbac81e8486d68eac4e6ef9db617f7fbd79a04a3b323c982a09cdfc61f0ae0e8').then(console.log){ keyType: 2, key: { x: '0xdbac81e8486d68eac4e6ef9db617f7fbd79a04a3b323c982a09cdfc61f0ae0e8', y: '0x906d7170ba349c86879fb8006134cbf57bda9db9214a90b607b6b4ab57fc026e', },}// AccountKey type: AccountKeyFail> caver.rpc.klay.decodeAccountKey('0x03c0').then(console.log){ keyType: 3, key: {} }// AccountKey type: AccountKeyWeightedMultiSig> caver.rpc.klay.decodeAccountKey('0x04f84b02f848e301a102c734b50ddb229be5e929fc4aa8080ae8240a802d23d3290e5e6156ce029b110ee301a10212d45f1cc56fbd6cd8fc877ab63b5092ac77db907a8a42c41dad3e98d7c64dfb').then(console.log){ keyType: 4, key: { threshold: 2, keys: [ { weight: 1, key: { x: '0xc734b50ddb229be5e929fc4aa8080ae8240a802d23d3290e5e6156ce029b110e', y: '0x61a443ac3ffff164d1fb3617875f07641014cf17af6b7dc38e429fe838763712', }, }, { weight: 1, key: { x: '0x12d45f1cc56fbd6cd8fc877ab63b5092ac77db907a8a42c41dad3e98d7c64dfb', y: '0x8ef355a8d524eb444eba507f236309ce08370debaa136cb91b2f445774bff842', }, }, ], },}// AccountKey type: AccountKeyRoleBased> caver.rpc.klay.decodeAccountKey('0x05f898a302a103e4a01407460c1c03ac0c82fd84f303a699b210c0b054f4aff72ff7dcdf01512db84e04f84b02f848e301a103e4a01407460c1c03ac0c82fd84f303a699b210c0b054f4aff72ff7dcdf01512de301a10336f6355f5b532c3c160').then(console.log){ keyType: 5, key: [ { keyType: 2, key: { x: '0xe4a01407460c1c03ac0c82fd84f303a699b210c0b054f4aff72ff7dcdf01512d', y: '0xa5735a23ce1654b14680054a993441eae7c261983a56f8e0da61280758b5919', }, }, { keyType: 4, key: { threshold: 2, keys: [ { weight: 1, key: { x: '0xe4a01407460c1c03ac0c82fd84f303a699b210c0b054f4aff72ff7dcdf01512d', y: '0xa5735a23ce1654b14680054a993441eae7c261983a56f8e0da61280758b5919', }, }, { weight: 1, key: { x: '0x36f6355f5b532c3c1606f18fa2be7a16ae200c5159c8031dd25bfa389a4c9c06', y: '0x6fdf9fc87a16ac359e66d9761445d5ccbb417fb7757a3f5209d713824596a50d', }, }, ], }, }, { keyType: 2, key: { x: '0xc8785266510368d9372badd4c7f4a94b692e82ba74e0b5e26b34558b0f081447', y: '0x94c27901465af0a703859ab47f8ae17e54aaba453b7cde5a6a9e4a32d45d72b2', }, }, ],}
caver.rpc.klay.getBalance
caver.rpc.klay.getBalance(address [, blockNumber] [, callback])
以 kaia 為單位返回給定地址的賬戶餘額。
參數
名稱 | 類型 | 描述 |
---|---|---|
地址 | 字符串 | 您要查看餘額的賬戶地址。 |
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | 給定地址的當前餘額(以 peb 為單位)。 |
示例
> caver.rpc.klay.getBalance('0x{address in hex}').then(console.log)0xde0b6b3a7640000
caver.rpc.klay.getCode
caver.rpc.klay.getCode(address [, blockNumber] [, callback])
返回給定地址的代碼。
參數:
名稱 | 類型 | 描述 |
---|---|---|
地址 | 字符串 | 獲取代碼的地址。 |
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | 給定地址的代碼。 |
示例
> caver.rpc.klay.getCode('0x{address in hex}').then(console.log)0x60806...
caver.rpc.klay.getTransactionCount
caver.rpc.klay.getTransactionCount(address [, blockNumber] [, callback])
返回從某個地址發送的交易總數。
參數:
名稱 | 類型 | 描述 |
---|---|---|
地址 | 字符串 | 用於獲取交易次數的地址。 |
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | 從給定地址發送的交易次數(十六進制)。 |
示例
> caver.rpc.klay.getTransactionCount('0x{address in hex}').then(console.log)0x5f
caver.rpc.klay.isContractAccount
caver.rpc.klay.isContractAccount(address [, blockNumber] [, callback])
如果輸入賬戶在特定區塊編號時的 codeHash 不為空,則返回 true
。 如果賬戶是 EOA 或沒有 codeHash 的智能合約賬戶,則返回 "false"。 詳情請參閱 [智能合約賬戶](.../.../.../.../.../learn/accounts.md#smart-contract-accounts-scas)。
參數:
名稱 | 類型 | 描述 |
---|---|---|
地址 | 字符串 | 您要檢查的地址是 "ContractAccount"。 |
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
boolean | true 表示輸入參數是現有的智能合約地址。 |
示例
> caver.rpc.klay.isContractAccount('0x{address in hex}').then(console.log)false> caver.rpc.klay.isContractAccount('0x{address in hex}').then(console.log)true
caver.rpc.klay.sign
caver.rpc.klay.sign(address, message [, blockNumber] [, callback])
生成 kaia 專用的簽名數據。 Refer to Kaia Platform API - klay_sign to know how the signature is generated.
NOTE: This API provides the function to sign a message using an imported account in your kaia node. The imported account in your node must be unlocked to sign the message. To sign a transaction with imported account in your kaia node, use caver.rpc.klay.signTransaction.
參數
名稱 | 類型 | 描述 |
---|---|---|
地址 | 字符串 | 用於簽署信息的導入賬戶地址。 |
信息 | 字符串 | 待簽名消息 |
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | 導入賬戶的簽名。 |
示例
> caver.rpc.klay.sign('0x{address in hex}', '0xdeadbeaf').then(console.log)0x1066e052c4be821daa4d0a0cd1e9e75ccb200bb4001c2e38853ba41b712a5a226da2acd67c86a13b266e0d75d0a6e7d1551c8924af413267615a5948617c746c1c
caver.rpc.klay.getAccounts
caver.rpc.klay.getAccounts([callback])
返回 kaia 節點擁有的地址列表。
參數:
名稱 | 類型 | 描述 |
---|---|---|
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價 值
Promise
returns Array
類型 | 描述 |
---|---|
數組 | kaia 節點擁有的地址數組。 |
示例
> caver.rpc.klay.getAccounts().then(console.log)[ '0xe1531e916857d1b3a7db92f9187b96a7b43813bf', '0x75331c25535052157ff5110ba7d0cf940d3a9ca6']。
caver.rpc.klay.getBlockNumber
caver.rpc.klay.getBlockNumber([callback])
返回最近區塊的數量。
參數
名稱 | 類型 | 描述 |
---|---|---|
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | 最近區塊的編號(十六進制)。 |
示例
> caver.rpc.klay.getBlockNumber().then(console.log)0x5d39
caver.rpc.klay.getHeader
caver.rpc.klay.getHeader(blockNumberOrHash] [, callback])
按塊哈希值或區塊編號返回塊頭。 如果用戶把區塊哈希值作為參數傳遞,caver.rpc.klay.getHeaderByHash就會被調用;如果把區塊編號作為參數調用,caver.rpc.klay.getHeaderByNumber就會被調用。
參數:
名稱 | 類型 | 描述 |
---|---|---|
區塊編號或哈希值 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
對象 | 區塊頭對象。 有關返回值的詳細說明,請參閱 caver.rpc.klay.getHeaderByHash 。 |
示例
> caver.rpc.klay.getHeader(1).then(console.log){ baseFeePerGas: '0x0', blockScore: '0x1', extraData: '0xd8830...', gasUsed:'0x0', governanceData: '0x', hash:'0x1b6582f0908add2221317288482aada596551e9f9d779a2aebc55d81d3149ba3', logsBloom: '0x00000...', number: '0xbacd3', parentHash: '0xd6e36611a6722b94b8e4bb4d164755445409cf43aa5db0a5d4ae01e621c81ce7', receiptsRoot:'0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470', reward:'0x30be91c80566da777d30e659b6746174ecc61576', stateRoot: '0xe75d808889451b1dac3d209e8cfbb2159ea6b2a080ce6081be775fb426f047a8', timestamp:'0x62201975', timestampFoS:'0x0', transactionsRoot:'0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470'}
caver.rpc.klay.getHeaderByNumber
caver.rpc.klay.getHeaderByNumber(blockNumber [, returnTransactionObjects] [, callback])
按區塊編號返回區塊頭。
參數:
名稱 | 類型 | 描述 |
---|---|---|
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
對象 | 區塊頭對象。 有關返回值的詳細說明,請參閱 caver.rpc.klay.getHeaderByHash 。 |
示例
> caver.rpc.klay.getHeaderByNumber(765139).then(console.log){ baseFeePerGas: '0x0', blockScore: '0x1', extraData: '0xd8830...', gasUsed:'0x0', governanceData: '0x', hash:'0x1b6582f0908add2221317288482aada596551e9f9d779a2aebc55d81d3149ba3', logsBloom: '0x00000...', number: '0xbacd3', parentHash: '0xd6e36611a6722b94b8e4bb4d164755445409cf43aa5db0a5d4ae01e621c81ce7', receiptsRoot:'0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470', reward:'0x30be91c80566da777d30e659b6746174ecc61576', stateRoot: '0xe75d808889451b1dac3d209e8cfbb2159ea6b2a080ce6081be775fb426f047a8', timestamp:'0x62201975', timestampFoS:'0x0', transactionsRoot:'0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470'}
caver.rpc.klay.getHeaderByHash
caver.rpc.klay.getHeaderByHash(blockHash [, returnTransactionObjects] [, callback])
使用 blockHash
返回最近區塊的區塊編號。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊哈希 | 字符串 | 區塊哈希值。 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
返回 object
- 對象包括塊標頭:
名稱 | 類型 | 描述 |
---|---|---|
baseFeePerGas | 字符串 | The base fee per gas. 只有當該塊編號的 EthTxTypeCompatibleBlock 被激活時,才會返回該值。 |
blockScore | 字符串 | 區塊鏈網絡中的挖礦難度。 區塊分數 "的使用與網絡共識不同。 在 BFT 共識引擎中始終為 1。 |
額外數據 | 字符串 | 該數據塊的 "額外數據 "字段。 |
gasUsed | 字符串 | 該區塊所有交易使用的gas總量。 |
治理數據 | 字符串 | RLP 編碼的治理配置 |
哈希 | 字符串 | 區塊的哈希值。 如果是待處理區塊,則為 "null"。 |
logsBloom | 字符串 | 區塊日誌的 Bloom 過濾器。 如果是待處理區塊,則為 "null"。 |
數量 | 字符串 | 區塊編號。 如果是待處理區塊,則為 "null"。 |
父哈希值 | 字符串 | 父塊的哈希值。 |
receiptsRoot | 字符串 | 區塊收據三元組的根。 |
獎勵 | 字符串 | 整筆獎勵的受益人地址。 |
stateRoot | 字符串 | 區塊最終狀態三元組的根。 |
時間戳 | 字符串 | 區塊整理時的 unix 時間戳。 |
時間戳FoS | 字符串 | 區塊整理時間戳的秒分數。 |
交易根 | 字符串 | 區塊的交易三角根。 |
示例
> caver.rpc.klay.getHeaderByHash('0x1b6582f0908add2221317288482aada596551e9f9d779a2aebc55d81d3149ba3').then(console.log){ baseFeePerGas: '0x0', blockScore: '0x1', extraData: '0xd8830...', gasUsed:'0x0', governanceData: '0x', hash:'0x1b6582f0908add2221317288482aada596551e9f9d779a2aebc55d81d3149ba3', logsBloom: '0x00000...', number: '0xbacd3', parentHash: '0xd6e36611a6722b94b8e4bb4d164755445409cf43aa5db0a5d4ae01e621c81ce7', receiptsRoot:'0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470', reward:'0x30be91c80566da777d30e659b6746174ecc61576', stateRoot: '0xe75d808889451b1dac3d209e8cfbb2159ea6b2a080ce6081be775fb426f047a8', timestamp:'0x62201975', timestampFoS:'0x0', transactionsRoot:'0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470'}
caver.rpc.klay.getBlock
caver.rpc.klay.getBlock(blockNumberOrHash [, returnTransactionObjects] [, callback])
按塊哈希值或塊編號返回區塊的信息。 如果用戶把區塊哈希值作為參數傳遞,caver.rpc.klay.getBlockByHash就會被調用;如果把區塊編號作為參數調用,caver.rpc.klay.getBlockByNumber就會被調用。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊編號或哈希值 | number \ | string |
returnTransactionObjects | boolean | (可選,默認為 false ) 如果為 true ,返回的塊將包含所有交易對象;如果為 false ,則只包含交易哈希值。 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
對象 | 一個區塊對象。 有關返回值的詳細說明,請參閱 caver.rpc.klay.getBlockByHash。 |
示例
> caver.rpc.klay.getBlock(1).then(console.log){ baseFeePerGas: '0x0', blockscore: '0x1', extraData: '0xd8830...', gasUsed:'0x0', governanceData: '0x', hash:'0x58482921af951cf42a069436ac9338de50fd963bdbea40e396f416f9ac96a08b', logsBloom:'0x00000...', number: '0x1', parentHash: '0x6b7c0a49f445d39b6d7dc9ba5b593b326f3a953e75ff1fcf64b9a5fa51c2725b', receiptsRoot:'0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470', reward:'0xddc2002b729676dfd906484d35bb02a8634d7040', size: '0x285', stateRoot: '0xb88b6110e6f73b732714bb346e6ff24beb480c0dc901a55be24e38ad1c6d5fa9', timestamp:0x5ee7fe9f', timestampFoS: '0xd', totalBlockScore: '0x2', transactions:[], transactionsRoot: '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470', voteData: '0x',}
caver.rpc.klay.getBlockByNumber
caver.rpc.klay.getBlockByNumber(blockNumber [, returnTransactionObjects] [, callback])
按區塊號返回關於區塊的信息。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊編號 | number \ | string |
returnTransactionObjects | boolean | (可選,默認為 false ) 如果為 true ,返回的塊將包含所有交易對象;如果為 false ,則只包含交易哈希值。 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
對象 | 一個區塊對象。 有關返回值的詳細說明,請參閱 [caver.rpc.klay.getBlockByHash](#caver-rpc-klay-getblockbyhash)。 |
示例
> caver.rpc.klay.getBlockByNumber(1).then(console.log){ baseFeePerGas: '0x0', blockscore: '0x1', extraData: '0xd8830...', gasUsed:'0x0', governanceData: '0x', hash:'0x58482921af951cf42a069436ac9338de50fd963bdbea40e396f416f9ac96a08b', logsBloom:'0x00000...', number: '0x1', parentHash: '0x6b7c0a49f445d39b6d7dc9ba5b593b326f3a953e75ff1fcf64b9a5fa51c2725b', receiptsRoot:'0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470', reward:'0xddc2002b729676dfd906484d35bb02a8634d7040', size: '0x285', stateRoot: '0xb88b6110e6f73b732714bb346e6ff24beb480c0dc901a55be24e38ad1c6d5fa9', timestamp:0x5ee7fe9f', timestampFoS: '0xd', totalBlockScore: '0x2', transactions:[], transactionsRoot: '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470', voteData: '0x'}
caver.rpc.klay.getBlockByHash
caver.rpc.klay.getBlockByHash(blockHash [, returnTransactionObjects] [, callback])
使用 blockHash
返回最近區塊的區塊編號。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊哈希 | 字符串 | 區塊哈希值 |
returnTransactionObjects | boolean | (可選,默認為 false ) 如果為 true ,返回的塊將包含所有交易對象;如果為 false ,則只包含交易哈希值。 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
返回 object
- 對象包括代碼塊:
名稱 | 類型 | 描述 |
---|---|---|
baseFeePerGas | 字符串 | The base fee per gas 只有當該塊編號的 EthTxTypeCompatibleBlock 被激活時,才會返回該值。 |
blockScore | 字符串 | 區塊鏈網絡中的挖礦難度。 區塊分數 "的使用與網絡共識不同。 在 BFT 共識引擎中始終為 1。 |
額外數據 | 字符串 | 該數據塊的 "額外數據 "字段。 |
gasUsed | 字符串 | 該區塊所有交易使用的gas總量。 |
治理數據 | 字符串 | RLP 編碼的治理配置 |
hash | 字符串 | 區塊的哈希值。 如果是待處理區塊, 則為 "null"。 |
logsBloom | 字符串 | 區塊日誌的 Bloom 過濾器。 如果是待處理區塊,則為 "null" |
數量 | 字符串 | 區塊編號 如果是待處理區塊,則為 "null" |
父哈希值 | 字符串 | 父塊的哈希值。 |
receiptsRoot | 字符串 | 區塊收據三元組的根。 |
獎勵 | 字符串 | 整筆獎勵的受益人地址。 |
Size | 字符串 | 整數,該數據塊的大小(字節)。 |
stateRoot | 字符串 | 區塊最終狀態三元組的根。 |
時間戳 | 字符串 | 區塊整理時的 unix 時間戳。 |
時間戳FoS | 字符串 | 區塊整理時間戳的秒分數。 |
totalBlockScore | 字符串 | 該區塊之前鏈上總 blockScore 的整數。 |
交易 | 數組 | 事務對象數組,或 32 字節事務哈希值,取決於 returnTransactionObjects 參數。 |
transactionsRoot | 字符串 | 區塊的交易三角根。 |
voteData | 字符串 | RLP 加密的提案治理投票。 |
示例
> caver.rpc.klay.getBlockByHash('0x58482921af951cf42a069436ac9338de50fd963bdbea40e396f416f9ac96a08b').then(console.log){ baseFeePerGas: '0x0', blockscore: '0x1', extraData: '0xd8830...', gasUsed:'0x0', governanceData: '0x', hash:'0x58482921af951cf42a069436ac9338de50fd963bdbea40e396f416f9ac96a08b', logsBloom:'0x00000...', number: '0x1', parentHash: '0x6b7c0a49f445d39b6d7dc9ba5b593b326f3a953e75ff1fcf64b9a5fa51c2725b', receiptsRoot:'0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470', reward:'0xddc2002b729676dfd906484d35bb02a8634d7040', size: '0x285', stateRoot: '0xb88b6110e6f73b732714bb346e6ff24beb480c0dc901a55be24e38ad1c6d5fa9', timestamp:0x5ee7fe9f', timestampFoS: '0xd', totalBlockScore: '0x2', transactions:[], transactionsRoot: '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470', voteData: '0x'}
caver.rpc.klay.getBlockReceipts
caver.rpc.klay.getBlockReceipts(blockHash] [, callback])
返回由塊哈希值標識的塊中包含的收據。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊哈希 | 字符串 | 區塊哈希值 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
數組 | 交易收據包含在一個區塊中。 如果目標塊不包含事務,則返回空數組 [] 。 有關交易收據的詳細說明,請參閱 [caver.rpc.klay.getTransactionReceipt](#caver-rpc-klay-gettransactionreceipt)。 |
示例
> caver.rpc.klay.getBlockReceipts('0x4584bea6b8b2abe7f024d1e63dd0571cfd28cd5157b4f6cb2ac4160a7b0057e0').then(console.log)[ { blockHash: '0x4584bea6b8b2abe7f024d1e63dd0571cfd28cd5157b4f6cb2ac4160a7b0057e0', blockNumber: '0x5301', contractAddress: null, from: '0xddc2002b729676dfd906484d35bb02a8634d7040', gas: '0x61a8', gasPrice: '0x5d21dba00', gasUsed: '0x5208', logs: [], logsBloom: '0x00000...', nonce: '0x5e', senderTxHash: '0x413f080a498ae3973490c2f80e75e6a492cfcdac8be8051220bb7a964768d28c', signatures: [ { V: '0x4e44', R: '0x98583ffa8d9a6d5f9e60e4daebb33f18e8ad4d32653c4a2fa7f12ce025af763d', S: '0x9b9e5257293e3b986842b6a203dd16ce46f16ed42dd3e9592fcaab9ea2696cb' } ], status: '0x1', to: '0xc0aabc441129991dd3a9363a9a43b745527ea4e7', transactionHash: '0x413f080a498ae3973490c2f80e75e6a492cfcdac8be8051220bb7a964768d28c', transactionIndex: '0x0', type: 'TxTypeValueTransfer', typeInt: 8, value: '0xde0b6b3a7640000' }]
caver.rpc.klay.getBlockTransactionCountByNumber
caver.rpc.klay.getBlockTransactionCountByNumber(blockNumber] [, callback])
返回與給定區塊編號匹配的區塊中的交易次數。
參數:
名稱 | 類型 | 描述 |
---|---|---|
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | 給定區塊中的交易次數(十六進制)。 |
示例
> caver.rpc.klay.getBlockTransactionCountByNumber(21249).then(console.log)0x1
caver.rpc.klay.getBlockTransactionCountByHash
caver.rpc.klay.getBlockTransactionCountByHash(blockHash] [, callback])
返回與給定塊號匹配的塊中的交易數量。
參數:
名稱 | 類型 | 描述 |
---|---|---|
區塊哈希 | 字符串 | 區塊哈希值。 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | 給定區塊中的交易次數(十六進制)。 |
示例
> caver.rpc.klay.getBlockTransactionCountByHash('0x4584bea6b8b2abe7f024d1e63dd0571cfd28cd5157b4f6cb2ac4160a7b0057e0').then(console.log)0x1
caver.rpc.klay.getBlockWithConsensusInfoByNumber
caver.rpc.klay.getBlockWithConsensusInfoByNumber(blockNumber [, callback])
返回與給定區塊編號匹配的共識信息區塊。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
字符串 | 對象包括具有共識信息的區塊。 有關返回值的詳細說明,請參閱 [caver.rpc.klay.getBlockWithConsensusInfoByHash](#caver-rpc-klay-getblockwithconsensusinfobyhash)。 |
示例
> caver.rpc.klay.getBlockWithConsensusInfoByNumber(21249).then(console.log){ blockscore: '0x1', committee: ['0xddc2002b729676dfd906484d35bb02a8634d7040', '0xa1d2665c4c9f77410844dd4c22ed11aabbd4033e'], extraData: '0xd8830...', gasUsed: '0x5208', governanceData: '0x', hash: '0x4584bea6b8b2abe7f024d1e63dd0571cfd28cd5157b4f6cb2ac4160a7b0057e0', logsBloom: '0x00000...', number: '0x5301', parentHash: '0x024f05c0e7428e33331104bedbfc453d481ce6a2f5e57f7fd68a4391ba6c2619', proposer: '0xa1d2665c4c9f77410844dd4c22ed11aabbd4033e', receiptsRoot: '0xe38e5532717f12f769b07ea016014bd39b74fb72def4de8442114cc2728609f2', reward: '0xb74837f495060f3f794dcae8fa3e0c5d3cf99d9f', size: '0x313', stateRoot: '0x9964b2d8f23da7383a32ec33c9700a76ebf4a36315c9067c2fef7568d97e1d55', timestamp: '0x5ee851dd', timestampFoS: '0x0', totalBlockScore: '0x5302', transactions: [ { blockHash: '0x4584bea6b8b2abe7f024d1e63dd0571cfd28cd5157b4f6cb2ac4160a7b0057e0', blockNumber: '0x5301', contractAddress: null, from: '0xddc2002b729676dfd906484d35bb02a8634d7040', gas: '0x61a8', gasPrice: '0x5d21dba00', gasUsed: '0x5208', logs: [], logsBloom: '0x00000...', nonce: '0x5e', senderTxHash: '0x413f080a498ae3973490c2f80e75e6a492cfcdac8be8051220bb7a964768d28c', signatures: { V: '0x4e44', R: '0x98583ffa8d9a6d5f9e60e4daebb33f18e8ad4d32653c4a2fa7f12ce025af763d', S: '0x9b9e5257293e3b986842b6a203dd16ce46f16ed42dd3e9592fcaab9ea2696cb' }, status: '0x1', to: '0xc0aabc441129991dd3a9363a9a43b745527ea4e7', transactionHash: '0x413f080a498ae3973490c2f80e75e6a492cfcdac8be8051220bb7a964768d28c', transactionIndex: '0x0', type: 'TxTypeValueTransfer', typeInt: 8, value: '0xde0b6b3a7640000', }, ], transactionsRoot: '0x413f080a498ae3973490c2f80e75e6a492cfcdac8be8051220bb7a964768d28c', voteData: '0x',}
caver.rpc.klay.getBlockWithConsensusInfoByHash
caver.rpc.klay.getBlockWithConsensusInfoByHash(blockHash] [, callback])
返回與給定哈希值匹配的共識信息塊。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊哈希 | 字符串 | 區塊哈希值。 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
返回 object
- 包含共識信息(提議者和委員會成員名單)的區塊對象,如果沒有找到區塊,則返回 null:
名稱 | 類型 | 描述 |
---|---|---|
blockScore | 字符串 | 以前的困難。 在 BFT 共識引擎中始終為 1 |
委員會 | 數組 | 該區塊委員會成員的地址數組。 該委員會是參與該區塊共識協議的驗證者的子集。 |
額外數據 | 字符串 | 該數據塊的 "額外數據 "字段。 |
gasUsed | 字符串 | 該區塊所有交易使用的gas總量。 |
治理數據 | 字符串 | RLP 編碼的治理配置 |
哈希 | 字符串 | 區塊的哈希值。 如果是待處理區塊,則為 "null"。 |
logsBloom | 字符串 | 區塊日 誌的 Bloom 過濾器。 如果是待處理區塊,則為 "null"。 |
數量 | 字符串 | 區塊編號。 如果是待處理區塊,則為 "null"。 |
起源提案人 | 字符串 | 建議在同一區段編號上進行 0 輪。 |
父哈希值 | 字符串 | 父塊的哈希值。 |
提案人 | 字符串 | 提案者的地址。 |
receiptsRoot | 字符串 | 區塊收據三元組的根。 |
獎勵 | 字符串 | 整筆獎勵的受益人地址。 |
輪次 | 數量 | 輪數 |
Size | 字符串 | 整數,該數據塊的大小(字節)。 |
stateRoot | 字符串 | 區塊最終狀態三元組的根。 |
時間戳 | 字符串 | 區塊整理時的 unix 時間戳。 |
時間戳FoS | 字符串 | 區塊整理時間戳的秒分數。 |
totalBlockScore | 字符串 | 該區塊之前鏈上總 blockScore 的整數。 |
交易 | 數組 | 事務對象數組。 |
transactionsRoot | 字符串 | 區塊的交易三角根。 |
voteData | 字符串 | RLP 編碼的提案人治理投票 |
示例
> caver.rpc.klay.getBlockWithConsensusInfoByHash('0x4584bea6b8b2abe7f024d1e63dd0571cfd28cd5157b4f6cb2ac4160a7b0057e0').then(console.log){ blockscore: '0x1', committee: [ '0x571e5...', '0x5cb1a...', '0x99fb1...', '0xb74ff...' ], extraData: '0xd8830...', gasUsed: '0x3ea49', governanceData: '0x', hash: '0x188d4531d668ae3da20d70d4cb4c5d96a0cc5190771f0920c56b461c4d356566', logsBloom: '0x00000...', number: '0x3f79aa7', originProposer: '0x99fb17d324fa0e07f23b49d09028ac0919414db6', parentHash: '0x777d344c8c59c4d8d0041bb4c2ee66e95ec110303fb59d3e329f80e7a9c9c617', proposer: '0x99fb17d324fa0e07f23b49d09028ac0919414db6', receiptsRoot: '0xffbae3190f858531ff785bcbdc70278d91c3d9becdd8b134b0ab7974b9ef3641', reward: '0xb2bd3178affccd9f9f5189457f1cad7d17a01c9d', round: 0, size: '0x507', stateRoot: '0xa60d0868bd41b63b4fd67e5a8f801c5949e89a8994a13426747890b77d6bc0c4', timestamp: '0x610b3164', timestampFoS: '0xc', totalBlockScore: '0x3f79aa8', transactions: [ { blockHash: '0x188d4531d668ae3da20d70d4cb4c5d96a0cc5190771f0920c56b461c4d356566', blockNumber: '0x3f79aa7', contractAddress: null, feePayer: '0xfee998d423d5bd2bf5b5c0f0acb4e3aae2bd2286', feePayerSignatures: [ { V: '0x7f5', R: '0xf9aff6f39feb7a18d3e1b8ab9f590f0227e465c72cfe05e8d7c9e390cbf1d349', S: '0x6e7317d121a3951a8cbca110be8cc86c5314349f8fb1c37f9af4cadf72fe89ec', }, ], from: '0x11eb23f57151a88d4bb53cc9c27355437138c278', gas: '0x2dc6c0', gasPrice: '0x5d21dba00', gasUsed: '0x3ea49', input: '0x850ba...', logs: [ { address: '0x78ca9a1105c3392b56625f3fcfd149b29322c56f', topics: [ '0xddf25...', '0x00000...', '0x00000...', '0x00000...' ], data: '0x', blockNumber: '0x3f79aa7', transactionHash: '0x109d2836d9fde9d8081a27dd6ac545fd7a53530a56bdc40f2a11e5d6dbc2a09f', transactionIndex: '0x0', blockHash: '0x188d4531d668ae3da20d70d4cb4c5d96a0cc5190771f0920c56b461c4d356566', logIndex: '0x0', removed: false, }, ], logsBloom: '0x00000...', nonce: '0x0', senderTxHash: '0xeca2d3650403a1e27af0bbe9878dcbb248d764fc88751f35a6e05636d2ad9e78', signatures: [ { V: '0x7f6', R: '0x9ea78985b004afa86acd455c017da374ec1aec885f963ec8134a38f7ede451b0', S: '0xfac0e417f7f7b15023e3f5ac95f1fb5b3280746a2eff04394ddedbdd259fc1', }, ], status: '0x1', to: '0x78ca9a1105c3392b56625f3fcfd149b29322c56f', transactionHash: '0x109d2836d9fde9d8081a27dd6ac545fd7a53530a56bdc40f2a11e5d6dbc2a09f', transactionIndex: '0x0', type: 'TxTypeFeeDelegatedSmartContractExecution', typeInt: 49, value: '0x0', }, ], transactionsRoot: '0x109d2836d9fde9d8081a27dd6ac545fd7a53530a56bdc40f2a11e5d6dbc2a09f', voteData: '0x',}
caver.rpc.klay.getCommittee
caver.rpc.klay.getCommittee([blockNumber] [, callback])
返回指定區塊的委員會中所有驗證器的列表。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
數組 | 指定區塊內委員會所有驗證員的地址。 |
示例
> caver.rpc.klay.getCommittee().then(console.log)[ '0xddc2002b729676dfd906484d35bb02a8634d7040', '0xa1d2665c4c9f77410844dd4c22ed11aabbd4033e']。
caver.rpc.klay.getCommitteeSize
caver.rpc.klay.getCommitteeSize([blockNumber] [, callback])
返回指定區塊的委員會大小。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
數量 | 指定區塊的委員會規模。 |
示例
> caver.rpc.klay.getCommitteeSize().then(console.log)2
caver.rpc.klay.getCouncil
caver.rpc.klay.getCouncil([blockNumber] [, callback])
返回指定區塊中議會所有驗證器的列表。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
數組 | 給定區塊中議會的驗證器地址數組,如果沒有找到議會,則為空。 |
示例
> caver.rpc.klay.getCouncil().then(console.log)[ '0xa1d2665c4c9f77410844dd4c22ed11aabbd4033e', '0xddc2002b729676dfd906484d35bb02a8634d7040']。
caver.rpc.klay.getCouncilSize
caver.rpc.klay.getCouncilSize([blockNumber] [, callback])
返回指定區塊的理事會大小。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
數量 | 給定區塊的議會規模。 |
示例
> caver.rpc.klay.getCouncilSize().then(console.log)2
caver.rpc.klay.getStorageAt
caver.rpc.klay.getStorageAt(address, position [, blockNumber] [, callback])
從給定地址的存儲位置返回值。
參數:
名稱 | 類型 | 描述 |
---|---|---|
地址 | 字符串 | 獲取存儲空間的地址。 |
位置 | 數量 | 存儲空間的索引位置。 For more information on calculating the position , refer to klay_getStorageAt. |
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | 該存儲位置的值。 |
示例
> caver.rpc.klay.getStorageAt('0x407d73d8a49eeb85d32cf465507dd71d507100c1', 0).then(console.log)0x033456732123ffff2342342dd12342434324234234fd234fd23fd4f23d4234
caver.rpc.klay.isMinting
caver.rpc.klay.isMinting([callback])
如果客戶端正在積極挖掘新區塊,則返回 true
。
參數
名稱 | 類型 | 描述 |
---|---|---|
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise返回
boolean- 如果客戶端正在挖礦,則返回
true,否則返回
false`。
示例
> caver.rpc.klay.isMinting().then(console.log)true
caver.rpc.klay.isSyncing
caver.rpc.klay.isSyncing([callback])
返回一個包含同步狀態數據的對象,否則返回 false。
參數
名稱 | 類型 | 描述 |
---|---|---|
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
返回 object|boolean
- 如果 kaia 節點未同步,則返回 false
。 否則,將返回一個同步對象:
名稱 | 類型 | 描述 |
---|---|---|
起始塊 | 字符串 | 同步開始的區塊編號(十六進制)。 |
當前區塊 | 字符串 | 節點當 前同步到的區塊編號(十六進制)。 |
最高塊 | 字符串 | 要同步到的估計區塊編號(十六進制)。 |
已知狀態 | 字符串 | 可下載以十六進制表示的估計狀態。 |
pulledStates | 字符串 | 以十六進制表示已下載的狀態。 |
示例
> caver.rpc.klay.isSyncing().then(console.log){ startingBlock: 100, currentBlock:312, highestBlock: 512, knownStates:234566, pulledStates:123455}> caver.rpc.klay.isSyncing().then(console.log)false
caver.rpc.klay.call
caver.rpc.klay.call(callObject [, blockNumber] [, callback])
立即執行新的消息調用,而不在區塊鏈上發送交易。 如果發生錯誤,它會返回數據或 JSON RPC 的錯誤對象。
參數
名稱 | 類型 | 描述 |
---|---|---|
調用對象 | 對象 | 交易調用對象。 該對象的屬性請參見下表。 |
區塊編號 | number \ | string |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
callObject` 具有以下屬性:
名稱 | 類型 | 描述 |
---|---|---|
to | 字符串 | (測試新合同部署時可選) 交易指向的地址。 |
輸入 | 字符串 | (可選)方法簽名和編碼參數的哈希值。 您可以使用 caver.abi.encodeFunctionCall](../caver.abi.md#encodefunctioncall 。 |
from | 字符串 | (可選)交易發送的地址。 |
gas | 字符串 | (可選)為交易執行提供的gas。 klay_call 消耗的gas為零,但某些執行可能需要該參數。 |
gasPrice | 字符串 | (可選)用於每種付費gas的 gasPrice。 |
value | 字符串 | (可選)以 peb 為單位與該交易一起發送的值。 |
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | 調用返回的數據。 例如,智能合約函數的返回值。 |
示例
> caver.rpc.klay.call({ to:'0x5481a10a47C74f800BDF4955BD77550881bde91C', // 合同地址 input: '0x70a0823100000000000000000000ddc2002b729676dfd906484d35bb02a8634d7040' }).then(console.log)0x000000000000000000000000000000000000000000000de0b6b3a7640000
caver.rpc.klay.estimateGas
caver.rpc.klay.estimateGas(callObject [, blockNumber] [, callback])
生成並返回交易完成所需的 "gas "估計值。 該方法產生的交易不會添加到區塊鏈中。
參數
參見 caver.rpc.klay.call參數,預計所有屬性都是可選的。
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | 用的Gas數量。 |
示例
> caver.rpc.klay.estimateGas({ to:'0x5481a10a47C74f800BDF4955BD77550881bde91C', // 合同地址 input: '0x095ea7b30000000000000000000028e4e077686d1aeaf54a1313ff4841181056fe320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a' }).then(console.log)0xb2a0
caver.rpc.klay.estimateComputationCost
caver.rpc.klay.estimateComputationCost(callObject [, blockNumber] [, callback])
生成並返回執行事務的 "計算成本 "估計值。 kaia 將事務的計算成本限制為 100000000
,以避免單個事務耗費過多時間。 該交易不會像 [caver.rpc.klay.estimateGas](#caver-rpc-klay-estimategas)那樣被添加到區塊鏈中。
參數
參見 caver.rpc.klay.call參數,預計所有屬性都是可選的。
返回價值
Promise
returns Array
類型 | 描述 |
---|---|
字符串 | 使用的計算成本。 |
示例
> caver.rpc.klay.estimateComputationCost({ to:0x5481a10a47C74f800BDF4955BD77550881bde91C', // 合同地址 input: '0x095ea7b30000000000000000000028e4e077686d1aeaf54a1313ff4841181056fe3200000000000000000000000000000000000000000000000000000000000000000000000a' }).then(console.log)0xd761
caver.rpc.klay.getTransactionByBlockHashAndIndex
caver.rpc.klay.getTransactionByBlockHashAndIndex(blockHash, index [, callback])
按 "塊哈希值 "和 "事務索引 "位置返回事務信息。
參數
名稱 | 類型 | 描述 |
---|---|---|
blockHash | 字符串 | 區塊哈希值。 |
index | 數量 | 區塊內的事務索引位置。 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
對象 | 事務對象,詳見 caver.rpc.klay.getTransactionByHash。 |
示例
> caver.rpc.klay.getTransactionByBlockHashAndIndex('0xc9f643c0ebe84932c10695cbc9eb75228af09516931b58952de3e12c21a50576', 0).then(console.log){ blockHash: '0xc9f643c0ebe84932c10695cbc9eb75228af09516931b58952de3e12c21a50576', blockNumber: '0xb7', from: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e', gas: '0x61a8', gasPrice: '0x5d21dba00', hash: '0xdb63fb385e51fbfd84a98873c994aef622c5f1c72c5760a9ff95c55bbfd99898', nonce: '0x0', senderTxHash: '0xdb63fb385e51fbfd84a98873c994aef622c5f1c72c5760a9ff95c55bbfd99898', signatures: [ { V: '0x4e44', R: '0xf1a9a...', S: '0x9116c...' } ], to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc', transactionIndex: '0x0', type: 'TxTypeValueTransfer', typeInt: 8, value: '0x8ac7230489e80000'}
caver.rpc.klay.getTransactionByBlockNumberAndIndex
caver.rpc.klay.getTransactionByBlockNumberAndIndex(blockNumber, index [, callback])
按 "區塊編號 "和 "事務索引 "位置返回事務信息。
參數
名稱 | 類型 | 描述 |
---|---|---|
區塊編號 | number \ | string |
index | 數量 | 區塊內的事務索引位置。 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
returns number
類型 | 描述 |
---|---|
對象 | 事務對象,詳見 caver.rpc.klay.getTransactionByHash。 |
舉例
> caver.rpc.klay.getTransactionByBlockNumberAndIndex(183, 0).then(console.log){ blockHash: '0xc9f643c0ebe84932c10695cbc9eb75228af09516931b58952de3e12c21a50576', blockNumber: '0xb7', from: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e', gas: '0x61a8', gasPrice: '0x5d21dba00', hash: '0xdb63fb385e51fbfd84a98873c994aef622c5f1c72c5760a9ff95c55bbfd99898', nonce: '0x0', senderTxHash: '0xdb63fb385e51fbfd84a98873c994aef622c5f1c72c5760a9ff95c55bbfd99898', signatures: [ { V: '0x4e44', R: '0xf1a9a...', S: '0x9116c...' } ], to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc', transactionIndex: '0x0', type: 'TxTypeValueTransfer', typeInt: 8, value: '0x8ac7230489e80000'}
caver.rpc.klay.getTransactionByHash
caver.rpc.klay.getTransactionByHash(transactionHash [, callback])
使用交易哈希值請求,返回有關交易的信息。
參數:
名稱 | 類型 | 描述 |
---|---|---|
交易哈希值。 | 字符串 | 交易哈希值。 |
callback | function | (可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。 |
返回價值
Promise
返回 object
- 一個事務對象,如果沒有找到事務,則返回 null
:
名稱 | 類型 | 描述 |
---|---|---|
blockHash | 字符串 | 該交易所在區塊的哈希值。 |
區塊編號 | 字符串 | 該交易所在的區塊編號。 |
代碼格式 | 字符串 | (可選,默認:'EVM' )智能合約代碼的編碼格式。 |
付費人 | 字符串 | (可選)付費人地址。 |
feePayerSignatures | 數組 | (可選)付費人簽名對象數組。 簽名對象包含三個字段(V、R 和 S)。 V 包含 ECDSA 恢復 ID。 R 包含 ECDSA 簽名 r,而 S 包含 ECDSA 簽名 s。 |
費用比率 | 字符串 | (可選)付費人的繳費比例。 如果是 30,付費人將支付 30%的費用。 70% 由發送人支付。 |
from | 字符串 |