Skip to main content

Block

defaultBlock ​


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;

getBlockNumber ​


caver.klay.getBlockNumber([callback])

Returns the current block number.

Parameters

NameTypeDescription
callbackFunction(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

getBlock ​


caver.klay.getBlock(blockHashOrBlockNumber [, returnTransactionObjects] [, callback])

Returns a block matching the block hash or block number.

Parameters

NameTypeDescription
blockHashOrBlockNumberString | NumberThe block hash or block number. Or the string "genesis", or "latest".
returnTransactionObjectsBoolean(optional, default false) If true, the returned block will contain all transactions as objects, if false it will only contains the transaction hashes.
callbackFunction(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:

NameTypeDescription
blockScoreQUANTITYFormer difficulty. Always 1 in the BFT consensus engine
extraDataStringThe "extra data" field of this block.
gasUsedNumberThe total used gas by all transactions in this block.
governanceDataDATARLP encoded governance configuration
hash32-byte StringHash of the block. null when it is a pending block.
logsBloom256-byte StringThe bloom filter for the logs of the block. null when it is a pending block.
numberNumberThe block number. null when it is a pending block.
parentHash32-byte StringHash of the parent block.
receiptsRoot32-byte DATAThe root of the receipts trie of the block.
reward20-byte DATAThe address of the beneficiary to whom the block rewards were given.
sizeNumberInteger the size of this block in bytes.
stateRoot32-byte StringThe root of the final state trie of the block.
timestampNumberThe unix timestamp for when the block was collated.
timestampFoSQUANTITYThe fraction of a second of the timestamp for when the block was collated.
totalBlockScoreQUANTITYInteger of the total blockScore of the chain until this block.
transactionsArrayArray of transaction objects, or 32-byte transaction hashes depending on the returnTransactionObjects parameter.
transactionsRoot32-byte StringThe root of the transaction trie of the block.
voteDataDATARLP 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'
}

getBlockReceipts ​


caver.klay.getBlockReceipts(blockHash [, callback])

Returns a list of transaction receipts included in a block identified by the given block hash.

Parameters

NameTypeDescription
blockHashStringHash of a block.
callbackFunction(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);
[]

getBlockTransactionCount ​


caver.klay.getBlockTransactionCount(blockHashOrBlockNumber [, callback])

Returns the number of transaction in a given block.

Parameters

NameTypeDescription
blockHashOrBlockNumberString | NumberThe block number or hash. Or the string "genesis", or "latest".
callbackFunction(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

getBlockWithConsensusInfo ​


caver.klay.getBlockWithConsensusInfo(blockHashOrBlockNumber [, callback])

Returns a block with consensus information matched by the given block hash or block number.

Parameters

NameTypeDescription
blockHashOrBlockNumberString | NumberThe block hash or block number. Or the string "genesis" or "latest".
callbackFunction(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:

NameTypeDescription
blockScoreQUANTITYFormer difficulty. Always 1 in the BFT consensus engine
committeeArrayArray of addresses of committee members of this block. The committee is a subset of validators participated in the consensus protocol for this block.
extraDataStringThe "extra data" field of this block.
gasUsedQUANTITYThe total used gas by all transactions in this block.
governanceDataDATARLP encoded governance configuration
hash32-byte DATAHash of the block. null when it is a pending block.
logsBloom256-byte StringThe bloom filter for the logs of the block. null when it is a pending block.
numberQUANTITYThe block number. null when it is a pending block.
parentHash32-byte DATAHash of the parent block.
proposer20-byte DATAThe address of the block proposer.
receiptsRoot32-byte DATAThe root of the receipts trie of the block.
reward20-byte DATAThe address of the beneficiary to whom the block rewards were given.
sizeQUANTITYInteger the size of this block in bytes.
stateRoot32-byte DATAThe root of the final state trie of the block.
timestampQUANTITYThe unix timestamp for when the block was collated.
timestampFoSQUANTITYThe fraction of a second of the timestamp for when the block was collated.
totalBlockScoreQUANTITYInteger of the total blockScore of the chain until this block.
transactionsArrayArray of transaction objects.
transactionsRoot32-byte DATAThe root of the transaction trie of the block.
voteDataDATARLP 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'
}

getCommittee ​


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

NameTypeDescription
defaultBlockNumber | String(optional) If you pass this parameter, it will not use the default block set with caver.klay.defaultBlock.
callbackFunction(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"
]

getCommitteeSize ​


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

NameTypeDescription
defaultBlockNumber | String(optional) If you pass this parameter, it will not use the default block set with caver.klay.defaultBlock.
callbackFunction(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

getCouncil ​

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

NameTypeDescription
defaultBlockNumber | String(optional) If you pass this parameter, it will not use the default block set with caver.klay.defaultBlock.
callbackFunction(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"
]

getCouncilSize ​


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

NameTypeDescription
defaultBlockNumber | String(optional) If you pass this parameter, it will not use the default block set with caver.klay.defaultBlock.
callbackFunction(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

getStorageAt ​


caver.klay.getStorageAt(address, position [, defaultBlock] [, callback])

Gets the storage at a specific position of an address.

Parameters

NameTypeDescription
addressStringThe address to get the storage from.
positionNumberThe index position of the storage.
defaultBlockNumber | String(optional) If you pass this parameter, it will not use the default block set with caver.klay.defaultBlock.
callbackFunction(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"

isMining ​


caver.klay.isMining([callback])

Returns true if client is actively mining new blocks.

Parameters

NameTypeDescription
callbackFunction(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

isSyncing ​


caver.klay.isSyncing([callback])

Checks if the node is currently syncing and returns either a syncing object or false.

Parameters

NameTypeDescription
callbackFunction(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:

NameTypeDescription
startingBlockNumberThe block number where the sync started.
currentBlockNumberThe block number where at which block the node currently synced to already.
highestBlockNumberThe estimated block number to sync to.
knownStatesNumberThe estimated states to download.
pulledStatesNumberThe already downloaded states.

Example


> caver.klay.isSyncing().then(console.log);
{
startingBlock: 100,
currentBlock: 312,
highestBlock: 512,
knownStates: 234566,
pulledStates: 123455
}

Make this page better