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 专用的签名数据。 请参阅 Kaia Platform API - klay_sign 了解如何生成签名。
注意:本应用程序接口提供了使用 kaia 节点中的导入账户 签署信息的功能。 您节点中的导入账户必须解锁 才能签署信息。 使用 caver.rpc.klay.signTransaction 与 kaia 节点中的导入账户签署交易。
参数
名称 | 类型 | 描述 |
---|---|---|
地址 | 字符串 | 用于签署信息的导入账户地址。 |
信息 | 字符串 | 待签名消息 |
区块编号 | 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