Block
caver.klay.defaultBlock
The default block is used for certain methods. You can override it by passing in the defaultBlock as the last parameter. The default value is
"latest"
.Property
Default block parameters can be one of the following:
- Number: A block number
"genesis"
- String: The genesis block"latest"
- String: The latest block (current head of the blockchain)
Default is
"latest"
.Example
> caver.klay.defaultBlock;
"latest"
​
// set the default block
> caver.klay.defaultBlock = 1000;
caver.klay.getBlockNumber([callback])
Returns the current block number.
Parameters
Name | Type | Description |
---|---|---|
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns Number
- The number of the most recent block.Example
> caver.klay.getBlockNumber().then(console.log);
2744
caver.klay.getBlock(blockHashOrBlockNumber [, returnTransactionObjects] [, callback])
Returns a block matching the block hash or block number.
Parameters
Name | Type | Description |
---|---|---|
blockHashOrBlockNumber | String | Number | The block hash or block number. Or the string "genesis" , or "latest" . |
returnTransactionObjects | Boolean | (optional, default false ) If true , the returned block will contain all transactions as objects, if false it will only contains the transaction hashes. |
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns Object
- The block object:Name | Type | Description |
---|---|---|
blockScore | QUANTITY | Former difficulty. Always 1 in the BFT consensus engine |
extraData | String | The "extra data" field of this block. |
gasUsed | Number | The total used gas by all transactions in this block. |
governanceData | DATA | RLP encoded governance configuration |
hash | 32-byte String | Hash of the block. null when it is a pending block. |
logsBloom | 256-byte String | The bloom filter for the logs of the block. null when it is a pending block. |
number | Number | The block number. null when it is a pending block. |
parentHash | 32-byte String | Hash of the parent block. |
receiptsRoot | 32-byte DATA | The root of the receipts trie of the block. |
reward | 20-byte DATA | The address of the beneficiary to whom the block rewards were given. |
size | Number | Integer the size of this block in bytes. |
stateRoot | 32-byte String | The root of the final state trie of the block. |
timestamp | Number | The unix timestamp for when the block was collated. |
timestampFoS | QUANTITY | The fraction of a second of the timestamp for when the block was collated. |
totalBlockScore | QUANTITY | Integer of the total blockScore of the chain until this block. |
transactions | Array | Array of transaction objects, or 32-byte transaction hashes depending on the returnTransactionObjects parameter. |
transactionsRoot | 32-byte String | The root of the transaction trie of the block. |
voteData | DATA | RLP encoded governance vote of the proposer |
Example
> caver.klay.getBlock(19097).then(console.log);
{
blockscore: '0x1',
extraData: '0xd7820a01846b6c617988676f312e31312e32856c696e75780000000000000000f8b3ea94715dd3ce7a285f21111715a2ba5537414d40506b9471959675eeb7c7ec1e0c74f206a9c488d7f178d4b8418e55cfb464eed804671bbee503f2dcacae9349f23aa3c42fc43349f96ef08bb07c1039541a3b768af32384c8e29ec7e673356a6b0ea4c6d88604ae8abae4303201f843b841386a3fbd09cd3a7c82c0b8fdc9ae8c3e624be5f12553dde42bed456093e40c113aa36fb7015b578611e2cd2ee979e6017b15be7d3cc645f455b32e8607c85d7100',
gasUsed: '0x5208',
governanceData: '0x',
hash: '0x6ccef34eb59fab927705d344f080f449b576c0626e4aa3e20f569feb8df6e283',
logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
number: '0x4a99',
parentHash: '0x3b56b598828368d86b175a78ba21845125372851154840c6b1b318da910849c2',
receiptsRoot: '0xe38e5532717f12f769b07ea016014bd39b74fb72def4de8442114cc2728609f2',
reward: '0x59e6931f46b091f4ecbc39e8626fc0be7d3fcdeb',
size: '0x314',
stateRoot: '0xc65b3e3f1c32c33c095507d6d37e2a8a5589b178b5b03a1365295908ac92c40c',
timestamp: '0x5d11f951',
timestampFoS: '0x0',
totalBlockScore: '0x4a9a',
transactions: [ '0xac418c96f7386a3343d149eeb29e48e28905525dda2e5afe55b0661f9ab01aca' ],
transactionsRoot: '0xac418c96f7386a3343d149eeb29e48e28905525dda2e5afe55b0661f9ab01aca',
voteData: '0x'
}
caver.klay.getBlockReceipts(blockHash [, callback])
Returns a list of transaction receipts included in a block identified by the given block hash.
Parameters
Name | Type | Description |
---|---|---|
blockHash | String | Hash of a block. |
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns Array
- Receipts included in a block. If the target block contains no transaction, an empty array []
is returned.Example
> caver.klay.getBlockReceipts('0x6ccef34eb59fab927705d344f080f449b576c0626e4aa3e20f569feb8df6e283').then(console.log);
[
{
blockHash: '0x6ccef34eb59fab927705d344f080f449b576c0626e4aa3e20f569feb8df6e283',
blockNumber: '0x4a99',
contractAddress: null,
from: '0x71959675eeb7c7ec1e0c74f206a9c488d7f178d4',
gas: '0x493e0',
gasPrice: '0x5d21dba00',
gasUsed: '0x5208',
logs: [],
logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
nonce: '0x2',
senderTxHash: '0xac418c96f7386a3343d149eeb29e48e28905525dda2e5afe55b0661f9ab01aca',
signatures: [
{
V: '0x4e43',
R: '0xa857ef0676d7e65697cadeaf1654b2facd71d0b9f942d695f3972a1f7c34c25c',
S: '0x43fba9e5c2c16511f951e27957f1279ea3c1f913b27f9fbb2a8dcb5884e37e3d'
}
],
status: '0x1',
to: '0xef5cd886c7f8d85fbe8023291761341acbb4da01',
transactionHash: '0xac418c96f7386a3343d149eeb29e48e28905525dda2e5afe55b0661f9ab01aca',
transactionIndex: '0x0',
type: 'TxTypeValueTransfer',
typeInt: 8,
value: '0xde0b6b3a7640000'
}
]
​
> caver.klay.getBlockReceipts('0x6275712cd6ec769603f1560819ad226ea29216881c495c778ca68f0c1cd6e550').then(console.log);
[]
caver.klay.getBlockTransactionCount(blockHashOrBlockNumber [, callback])
Returns the number of transaction in a given block.
Parameters
Name | Type | Description |
---|---|---|
blockHashOrBlockNumber | String | Number | The block number or hash. Or the string "genesis" , or "latest" . |
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns Number
- The number of transactions in the given block.Example
> caver.klay.getBlockTransactionCount("0x407d73d8a49eeb85d32cf465507dd71d507100c1").then(console.log);
1
caver.klay.getBlockWithConsensusInfo(blockHashOrBlockNumber [, callback])
Returns a block with consensus information matched by the given block hash or block number.
Parameters
Name | Type | Description |
---|---|---|
blockHashOrBlockNumber | String | Number | The block hash or block number. Or the string "genesis" or "latest" . |
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns Object
- A block object with consensus information (a proposer and a list of committee members) The block object contains:Name | Type | Description |
---|---|---|
blockScore | QUANTITY | Former difficulty. Always 1 in the BFT consensus engine |
committee | Array | Array of addresses of committee members of this block. The committee is a subset of validators participated in the consensus protocol for this block. |
extraData | String | The "extra data" field of this block. |
gasUsed | QUANTITY | The total used gas by all transactions in this block. |
governanceData | DATA | RLP encoded governance configuration |
hash | 32-byte DATA | Hash of the block. null when it is a pending block. |
logsBloom | 256-byte String | The bloom filter for the logs of the block. null when it is a pending block. |
number | QUANTITY | The block number. null when it is a pending block. |
parentHash | 32-byte DATA | Hash of the parent block. |
proposer | 20-byte DATA | The address of the block proposer. |
receiptsRoot | 32-byte DATA | The root of the receipts trie of the block. |
reward | 20-byte DATA | The address of the beneficiary to whom the block rewards were given. |
size | QUANTITY | Integer the size of this block in bytes. |
stateRoot | 32-byte DATA | The root of the final state trie of the block. |
timestamp | QUANTITY | The unix timestamp for when the block was collated. |
timestampFoS | QUANTITY | The fraction of a second of the timestamp for when the block was collated. |
totalBlockScore | QUANTITY | Integer of the total blockScore of the chain until this block. |
transactions | Array | Array of transaction objects. |
transactionsRoot | 32-byte DATA | The root of the transaction trie of the block. |
voteData | DATA | RLP encoded governance vote of the proposer |
Examples
> caver.klay.getBlockWithConsensusInfo(19097).then(console.log);
{
blockscore: '0x1',
committee: [
'0x715dd3ce7a285f21111715a2ba5537414d40506b',
'0x71959675eeb7c7ec1e0c74f206a9c488d7f178d4'
],
extraData: '0xd7820a01846b6c617988676f312e31312e32856c696e75780000000000000000f8b3ea94715dd3ce7a285f21111715a2ba5537414d40506b9471959675eeb7c7ec1e0c74f206a9c488d7f178d4b8418e55cfb464eed804671bbee503f2dcacae9349f23aa3c42fc43349f96ef08bb07c1039541a3b768af32384c8e29ec7e673356a6b0ea4c6d88604ae8abae4303201f843b841386a3fbd09cd3a7c82c0b8fdc9ae8c3e624be5f12553dde42bed456093e40c113aa36fb7015b578611e2cd2ee979e6017b15be7d3cc645f455b32e8607c85d7100',
gasUsed: '0x5208',
governanceData: '0x',
hash: '0x6ccef34eb59fab927705d344f080f449b576c0626e4aa3e20f569feb8df6e283',
logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
number: '0x4a99',
parentHash: '0x3b56b598828368d86b175a78ba21845125372851154840c6b1b318da910849c2',
proposer: '0x715dd3ce7a285f21111715a2ba5537414d40506b',
receiptsRoot: '0xe38e5532717f12f769b07ea016014bd39b74fb72def4de8442114cc2728609f2',
reward: '0x59e6931f46b091f4ecbc39e8626fc0be7d3fcdeb',
size: '0x314',
stateRoot: '0xc65b3e3f1c32c33c095507d6d37e2a8a5589b178b5b03a1365295908ac92c40c',
timestamp: '0x5d11f951',
timestampFoS: '0x0',
totalBlockScore: '0x4a9a',
transactions: [
{
blockHash: '0x6ccef34eb59fab927705d344f080f449b576c0626e4aa3e20f569feb8df6e283',
blockNumber: '0x4a99',
contractAddress: null,
from: '0x71959675eeb7c7ec1e0c74f206a9c488d7f178d4',
gas: '0x493e0',
gasPrice: '0x5d21dba00',
gasUsed: '0x5208',
logs: [],
logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
nonce: '0x2',
senderTxHash: '0xac418c96f7386a3343d149eeb29e48e28905525dda2e5afe55b0661f9ab01aca',
signatures: [
{
V: '0x4e43',
R: '0xa857ef0676d7e65697cadeaf1654b2facd71d0b9f942d695f3972a1f7c34c25c',
S: '0x43fba9e5c2c16511f951e27957f1279ea3c1f913b27f9fbb2a8dcb5884e37e3d'
}
],
status: '0x1',
to: '0xef5cd886c7f8d85fbe8023291761341acbb4da01',
transactionHash: '0xac418c96f7386a3343d149eeb29e48e28905525dda2e5afe55b0661f9ab01aca',
transactionIndex: '0x0',
type: 'TxTypeValueTransfer',
typeInt: 8,
value: '0xde0b6b3a7640000'
}
],
transactionsRoot: '0xac418c96f7386a3343d149eeb29e48e28905525dda2e5afe55b0661f9ab01aca',
voteData: '0x'
}
caver.klay.getCommittee([defaultBlock] [, callback])
Returns a list of all validators in the committee at the specified block. If the parameter is not set, returns a list of all validators in the committee at the latest block.
Parameters
Name | Type | Description |
---|---|---|
defaultBlock | Number | String | (optional) If you pass this parameter, it will not use the default block set with caver.klay.defaultBlock. |
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns Array
- Addresses of all validators in the committee.Example
> caver.klay.getCommittee().then(console.log);
[
"0x207e38864b45a538733741dc1ff92eff9d1a6159",
"0x6d64bc82b93368a7f963d6c34483ca3893f405f6",
"0xbc9c19f91878369776812039e4ebcdfa3c646716",
"0xe3ed6fa287752b992f936b42360770c59731d9eb"
]
caver.klay.getCommitteeSize([defaultBlock] [, callback])
Returns the size of the committee at the specified block. If the parameter is not set, returns the size of the committee at the latest block.
Parameters
Name | Type | Description |
---|---|---|
defaultBlock | Number | String | (optional) If you pass this parameter, it will not use the default block set with caver.klay.defaultBlock. |
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns Number
- The size of the committee.Example
> caver.klay.getCommitteeSize().then(console.log);
4
NOTE:
getValidators
is replaced with this method and is not supported anymore.caver.klay.getCouncil([defaultBlock] [, callback])
Returns a list of all validators of the council at the specified block. If the parameter is not set, returns a list of all validators of the council at the latest block.
Parameters
Name | Type | Description |
---|---|---|
defaultBlock | Number | String | (optional) If you pass this parameter, it will not use the default block set with caver.klay.defaultBlock. |
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns Array
- Addresses of all validators of the council.Example
> caver.klay.getCouncil().then(console.log);
[
"0x207e38864b45a538733741dc1ff92eff9d1a6159",
"0x6d64bc82b93368a7f963d6c34483ca3893f405f6",
"0xbc9c19f91878369776812039e4ebcdfa3c646716",
"0xe3ed6fa287752b992f936b42360770c59731d9eb"
]
caver.klay.getCouncilSize([defaultBlock] [, callback])
Returns the size of the council at the specified block. If the parameter is not set, returns the size of the council at the latest block.
Parameters
Name | Type | Description |
---|---|---|
defaultBlock | Number | String | (optional) If you pass this parameter, it will not use the default block set with caver.klay.defaultBlock. |
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns Number
- The size of the council.Example
> caver.klay.getCouncilSize().then(console.log);
4
caver.klay.getStorageAt(address, position [, defaultBlock] [, callback])
Gets the storage at a specific position of an address.
Parameters
Name | Type | Description |
---|---|---|
address | String | The address to get the storage from. |
position | Number | The index position of the storage. |
defaultBlock | Number | String | (optional) If you pass this parameter, it will not use the default block set with caver.klay.defaultBlock. |
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns String
- The value in storage at the given position.Example
> caver.klay.getStorageAt("0x407d73d8a49eeb85d32cf465507dd71d507100c1", 0).then(console.log);
"0x033456732123ffff2342342dd12342434324234234fd234fd23fd4f23d4234"
caver.klay.isMining([callback])
Returns
true
if client is actively mining new blocks.Parameters
Name | Type | Description |
---|---|---|
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns Boolean
- true
if the client is mining, otherwise false
.Example
> caver.klay.isMining().then(console.log);
true
caver.klay.isSyncing([callback])
Checks if the node is currently syncing and returns either a syncing object or
false
.Parameters
Name | Type | Description |
---|---|---|
callback | Function | (optional) Optional callback, returns an error object as the first parameter and the result as the second. |
Return Value
Promise
returns Object|Boolean
- A sync object when the node is currently syncing or false
:Name | Type | Description |
---|---|---|
startingBlock | Number | The block number where the sync started. |
currentBlock | Number | The block number where at which block the node currently synced to already. |
highestBlock | Number | The estimated block number to sync to. |
knownStates | Number | The estimated states to download. |
pulledStates | Number | The already downloaded states. |
Example
> caver.klay.isSyncing().then(console.log);
{
startingBlock: 100,
currentBlock: 312,
highestBlock: 512,
knownStates: 234566,
pulledStates: 123455
}
Last modified 6mo ago