跳至主要內容
本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 Crowdin 上的努力,幫助我們改進本頁面的翻譯。 (Crowdin translation page, Contributing guide)

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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns number

類型描述
booleankaia 中輸入地址的存在

示例


> 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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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, AccountKeyFailAccountKeyWeightedMultiSigAccountKeyRoleBased)。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns number

類型描述
對象對象內部定義了 keyTypekey

示例


// 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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns number

類型描述
booleantrue 表示輸入參數是現有的智能合約地址。

示例


> 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,瞭解簽名是如何生成的。

注意:此 API 提供了使用 kaia 節點中的 導入賬戶 簽署消息的功能。 您節點中的導入賬戶必須已[解鎖](.../.../.../.../jsson-rpc/personal.md#personal_unlockaccount),才能簽署信息。 使用 caver.rpc.klay.signTransaction 簽署 kaia 節點中導入賬戶的交易。

參數

名稱類型描述
地址字符串用於簽署信息的導入賬戶地址。
信息字符串待簽名消息
區塊編號number \string
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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 節點擁有的地址列表。

參數:

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
數組kaia 節點擁有的地址數組。

示例


> caver.rpc.klay.getAccounts().then(console.log)
[
'0xe1531e916857d1b3a7db92f9187b96a7b43813bf',
'0x75331c25535052157ff5110ba7d0cf940d3a9ca6'
]。

caver.rpc.klay.getBlockNumber


caver.rpc.klay.getBlockNumber([callback])

返回最近區塊的數量。

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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 返回最近區塊的區塊編號。

參數

名稱類型描述
區塊哈希字符串區塊哈希值。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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
returnTransactionObjectsboolean(可選,默認為 false) 如果為 true,返回的塊將包含所有交易對象;如果為 false,則只包含交易哈希值。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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
returnTransactionObjectsboolean(可選,默認為 false) 如果為 true,返回的塊將包含所有交易對象;如果為 false,則只包含交易哈希值。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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 返回最近區塊的區塊編號。

參數

名稱類型描述
區塊哈希字符串區塊哈希值
returnTransactionObjectsboolean(可選,默認為 false) 如果為 true,返回的塊將包含所有交易對象;如果為 false,則只包含交易哈希值。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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])

返回由塊哈希值標識的塊中包含的收據。

參數

名稱類型描述
區塊哈希字符串區塊哈希值
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串給定區塊中的交易次數(十六進制)。

示例


> caver.rpc.klay.getBlockTransactionCountByNumber(21249).then(console.log)
0x1

caver.rpc.klay.getBlockTransactionCountByHash


caver.rpc.klay.getBlockTransactionCountByHash(blockHash] [, callback])

返回與給定塊號匹配的塊中的交易數量。

參數:

名稱類型描述
區塊哈希字符串區塊哈希值。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串給定區塊中的交易次數(十六進制)。

示例


> caver.rpc.klay.getBlockTransactionCountByHash('0x4584bea6b8b2abe7f024d1e63dd0571cfd28cd5157b4f6cb2ac4160a7b0057e0').then(console.log)
0x1

caver.rpc.klay.getBlockWithConsensusInfoByNumber


caver.rpc.klay.getBlockWithConsensusInfoByNumber(blockNumber [, callback])

返回與給定區塊編號匹配的共識信息區塊。

參數

名稱類型描述
區塊編號number \string
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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])

返回與給定哈希值匹配的共識信息塊。

參數

名稱類型描述
區塊哈希字符串區塊哈希值。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
數組指定區塊內委員會所有驗證員的地址。

示例


> caver.rpc.klay.getCommittee().then(console.log)
[
'0xddc2002b729676dfd906484d35bb02a8634d7040',
'0xa1d2665c4c9f77410844dd4c22ed11aabbd4033e'
]。

caver.rpc.klay.getCommitteeSize


caver.rpc.klay.getCommitteeSize([blockNumber] [, callback])

返回指定區塊的委員會大小。

參數

名稱類型描述
區塊編號number \string
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns number

類型描述
數量指定區塊的委員會規模。

示例


> caver.rpc.klay.getCommitteeSize().then(console.log)
2

caver.rpc.klay.getCouncil


caver.rpc.klay.getCouncil([blockNumber] [, callback])

返回指定區塊中議會所有驗證器的列表。

參數

名稱類型描述
區塊編號number \string
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
數組給定區塊中議會的驗證器地址數組,如果沒有找到議會,則為空。

示例


> caver.rpc.klay.getCouncil().then(console.log)
[
'0xa1d2665c4c9f77410844dd4c22ed11aabbd4033e',
'0xddc2002b729676dfd906484d35bb02a8634d7040'
]。

caver.rpc.klay.getCouncilSize


caver.rpc.klay.getCouncilSize([blockNumber] [, callback])

返回指定區塊的理事會大小。

參數

名稱類型描述
區塊編號number \string
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns number

類型描述
數量給定區塊的議會規模。

示例


> caver.rpc.klay.getCouncilSize().then(console.log)
2

caver.rpc.klay.getStorageAt


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

從給定地址的存儲位置返回值。

參數:

名稱類型描述
地址字符串獲取存儲空間的地址。
位置數量存儲空間的索引位置。 有關 "計算位置 "的更多信息,請參閱 klay_getStorageAt
區塊編號number \string
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串該存儲位置的值。

示例


> caver.rpc.klay.getStorageAt('0x407d73d8a49eeb85d32cf465507dd71d507100c1', 0).then(console.log)
0x033456732123ffff2342342dd12342434324234234fd234fd23fd4f23d4234

caver.rpc.klay.isMinting


caver.rpc.klay.isMinting([callback])

如果客戶端正在積極挖掘新區塊,則返回 true

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise返回boolean- 如果客戶端正在挖礦,則返回true,否則返回 false`。

示例


> caver.rpc.klay.isMinting().then(console.log)
true

caver.rpc.klay.isSyncing


caver.rpc.klay.isSyncing([callback])

返回一個包含同步狀態數據的對象,否則返回 false。

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

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數量區塊內的事務索引位置。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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數量區塊內的事務索引位置。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

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])

使用交易哈希值請求,返回有關交易的信息。

參數:

名稱類型描述
交易哈希值。字符串交易哈希值。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise 返回 object - 一個事務對象,如果沒有找到事務,則返回 null

名稱類型描述
blockHash字符串該交易所在區塊的哈希值。
區塊編號字符串該交易所在的區塊編號。
代碼格式字符串(可選,默認:'EVM')智能合約代碼的編碼格式。
付費人字符串(可選)付費人地址。
feePayerSignatures數組(可選)付費人簽名對象數組。 簽名對象包含三個字段(V、R 和 S)。 V 包含 ECDSA 恢復 ID。 R 包含 ECDSA 簽名 r,而 S 包含 ECDSA 簽名 s。
費用比率字符串(可選)付費人的繳費比例。 如果是 30,付費人將支付 30%的費用。 70% 由發送人支付。
from字符串發送人地址。
gas字符串發送人提供的gas。
gasPrice字符串由發件人提供用 peb 的 Gas 價格
哈希字符串交易的哈希值。
humanReadableBoolean(可選) true(如果地址可人工讀取),false(如果地址不可人工讀取)。
key字符串(可選)用於更新 kaia 帳戶 AccountKey 的 RLP 編碼 AccountKey。 詳情請參閱 AccountKey
input字符串(可選)與交易一起發送的數據。
nonce字符串發件人在此交易之前進行的交易次數。
發送方 TxHash字符串(可選)不含繳費人地址和簽名的 txash。 該值始終與非收費委託交易的 hash 值相同。
簽名數組簽名對象數組。 簽名對象包含三個字段(V、R 和 S)。 V 包含 ECDSA 恢復 ID。 R 包含 ECDSA 簽名 r,而 S 包含 ECDSA 簽名 s。
to字符串收件人地址。 如果是合約部署事務,則為 "null"。
交易索引字符串區塊中事務索引位置的整數。
類型字符串表示交易類型的字符串。
typeInt數量代表交易類型的整數。
value字符串以peb為單位的價值轉移

如果事務處於 "待處理 "狀態,尚未被處理,則會返回 "blockHash"、"blockNumber "和 "transactionIndex "的默認值。 請參見下面的示例。

示例


> caver.rpc.klay.getTransactionByHash('0x991d2e63b91104264d2886fb2ae2ccdf90551377af4e334b313abe123a5406aa').then(console.log)
{
blockHash: '0xb273976bad5f3d40ba46839c020f61b1629e2362d351e3c9cb32268afc7cb477',
blockNumber: '0x74c',
codeFormat: '0x0',
from: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e',
gas: '0x3d0900',
gasPrice: '0x5d21dba00',
hash: '0x991d2e63b91104264d2886fb2ae2ccdf90551377af4e334b313abe123a5406aa',
humanReadable: false,
input: '0x60806...',
nonce: '0xa',
senderTxHash: '0x991d2e63b91104264d2886fb2ae2ccdf90551377af4e334b313abe123a5406aa',
signatures: [ { V: '0x4e44', R: '0xe4ac3...', S: '0x5374f...' } ],
to: null,
transactionIndex: '0x0',
type: 'TxTypeSmartContractDeploy',
typeInt: 40,
value: '0x0',
}
// When transaction is in pending, default values for `blockHash`, `blockNumber` and `trasnactionIndex` are returned.
> caver.rpc.klay.getTransactionByHash('0x72e3838a42fbe75724a685ca03e50ff25ebc564e32d06dadf41be2190e5b11d1').then(console.log)
{
blockHash: '0x0000000000000000000000000000000000000000000000000000000000000000',
blockNumber: '0x0',
from: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e',
gas: '0x61a8',
gasPrice: '0x5d21dba00',
hash: '0x72e3838a42fbe75724a685ca03e50ff25ebc564e32d06dadf41be2190e5b11d1',
nonce: '0xd',
senderTxHash: '0x72e3838a42fbe75724a685ca03e50ff25ebc564e32d06dadf41be2190e5b11d1',
signatures: [ { V: '0x4e44', R: '0x73634...', S: '0x479be...' } ],
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
transactionIndex: '0x0',
type: 'TxTypeValueTransfer',
typeInt: 8,
value: '0x8ac7230489e80000',
}

caver.rpc.klay.getTransactionBySenderTxHash


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

返回發送方交易哈希值請求的交易信息。

請注意,只有在節點中通過 --sendertxhashindexing啟用了索引功能時,此 API 才會返回正確的結果。 使用 caver.rpc.klay.isSenderTxHashIndexingEnabled 檢查索引功能是否啟用。

參數:

名稱類型描述
發送方 TxHash字符串發送方交易哈希值。 返回事務的 [senderTxHash](.../.../.../.../.../learn/transactions/transactions.md#sendertxhash)。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns number

類型描述
對象事務對象,詳見 caver.rpc.klay.getTransactionByHash

示例


> caver.rpc.klay.getTransactionBySenderTxHash('0x991d2e63b91104264d2886fb2ae2ccdf90551377af4e334b313abe123a5406aa').then(console.log)
{
blockHash: '0xb273976bad5f3d40ba46839c020f61b1629e2362d351e3c9cb32268afc7cb477',
blockNumber: '0x74c',
codeFormat: '0x0',
from: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e',
gas: '0x3d0900',
gasPrice: '0x5d21dba00',
hash: '0x991d2e63b91104264d2886fb2ae2ccdf90551377af4e334b313abe123a5406aa',
humanReadable: false,
input: '0x60806...',
nonce: '0xa',
senderTxHash: '0x991d2e63b91104264d2886fb2ae2ccdf90551377af4e334b313abe123a5406aa',
signatures: [ { V: '0x4e44', R: '0xe4ac3...', S: '0x5374f...' } ],
to: null,
transactionIndex: '0x0',
type: 'TxTypeSmartContractDeploy',
typeInt: 40,
value: '0x0',
}

caver.rpc.klay.getTransactionReceipt


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

根據交易哈希返回交易的收據。

注意* 對於交易尚未處理的 "待處理 "交易,不提供收據。

參數

名稱類型描述
交易哈希值。字符串交易哈希值。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise 返回 object - 交易收據對象,或 null - 未找到收據:

名稱類型描述
blockHash字符串該交易所在區塊的哈希值。
區塊編號字符串該交易所在的區塊編號。
codeFormat字符串(可選,默認:'EVM')智能合約代碼的編碼格式。
contractAddress字符串如果交易是創建合約,則為創建的合同地址,否則為null
有效GasPrice字符串從發送方扣除的每筆gas的實際價值。 在 Magma 硬分叉之前,該值等於交易的Gas 價格。 Magma 硬分叉後,它等於區塊頭中的 "baseFee "值。
付費者字符串(可選)付費人地址。
feePayerSignatures數組(可選)付費人簽名對象數組。 簽名對象包含三個字段(V、R 和 S)。 V 包含 ECDSA 恢復 ID。 R 包含 ECDSA 簽名 r,而 S 包含 ECDSA 簽名 s。
費用比率字符串(可選)付費人的繳費比例。 如果是 30,繳費人將支付 30%的費用。 70% 由發送人支付。
from字符串發送人地址。
gas字符串發送人提供的gas。
gasPrice字符串由發件人提供用 peb 的 Gas 價格
gasUsed字符串僅此一項交易使用的gas量。
humanReadableBoolean(可選) true(如果地址可人工讀取),false(如果地址不可人工讀取)。
key字符串(可選)用於更新 kaia 帳戶 AccountKey 的 RLP 編碼 AccountKey。
input字符串(可選)與交易一起發送的數據。
logs數組該事務生成的日誌對象數組。
logsBloom字符串用於輕型客戶端的 Bloom 過濾器可快速檢索相關日誌。
nonce字符串發件人在此交易之前進行的交易次數。
發送方 TxHash字符串(可選)僅由發送方簽名的交易哈希值。 返回事務的 [senderTxHash](.../.../.../.../.../learn/transactions/transactions.md#sendertxhash)。 該值始終與非收費委託交易的 transactionHash 相同。
簽名數組簽名對象數組。 簽名對象包含三個字段(V、R 和 S)。 V 包含 ECDSA 恢復 ID。 R 包含 ECDSA 簽名 r,而 S 包含 ECDSA 簽名 s。
status字符串如果事務成功,則為 0x1;如果 kaia 虛擬機還原了事務,則為 0x0
txError字符串(可選)當 status 等於 0x0 時的詳細錯誤代碼。
to字符串收件人地址。 如果是合約部署事務,則為 "null"。
交易哈希值。字符串交易的哈希值。
交易索引字符串區塊中事務索引位置的整數。
類型字符串表示交易類型的字符串。
typeInt數量代表交易類型的整數。
value字符串以peb為單位的價值轉移

注意 caver.kct.kip7.create從 caver-js v1.6.1 開始支持。

示例


// Before the Magma hard fork
> caver.rpc.klay.getTransactionReceipt('0xdb63fb385e51fbfd84a98873c994aef622c5f1c72c5760a9ff95c55bbfd99898').then(console.log)
{
blockHash: '0xc9f643c0ebe84932c10695cbc9eb75228af09516931b58952de3e12c21a50576',
blockNumber: '0xb7',
contractAddress: null,
effectiveGasPrice: '0x5d21dba00',
from: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e',
gas: '0x61a8',
gasPrice: '0x5d21dba00',
gasUsed: '0x5208',
logs: [],
logsBloom: '0x00000...',
nonce: '0x0',
senderTxHash: '0xdb63fb385e51fbfd84a98873c994aef622c5f1c72c5760a9ff95c55bbfd99898',
signatures: [ { V: '0x4e44', R: '0xf1a9a...', S: '0x9116c...' } ],
status: '0x1',
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
transactionHash: '0xdb63fb385e51fbfd84a98873c994aef622c5f1c72c5760a9ff95c55bbfd99898',
transactionIndex: '0x0',
type: 'TxTypeValueTransfer',
typeInt: 8,
value: '0x8ac7230489e80000',
}
// After the Magma hard fork
> caver.rpc.klay.getTransactionReceipt('0xf0554493c273352eac667eb30a1b70fffa8e8a0f682928b31baaceccc17c64b9').then(console.log)
{
blockHash: '0xaa358681023db9d967ff44577a34aea487c37433ebf6ef349baee50f9d1d2f03',
blockNumber: '0x99',
contractAddress: null,
effectiveGasPrice: '0x5d21dba00',
from: '0xca7a99380131e6c76cfa622396347107aeedca2d',
gas: '0x61a8',
gasPrice: '0xba43b7400',
gasUsed: '0x5208',
logs: [],
logsBloom: '0x00000...',
nonce: '0x2',
senderTxHash: '0xf0554493c273352eac667eb30a1b70fffa8e8a0f682928b31baaceccc17c64b9',
signatures: [ { V: '0x1cb4c6', R: '0x1605e...', S: '0x459cf...' } ],
status: '0x1',
to: '0x08ef5d2def29ff4384dd93a73e076d959abbd2f4',
transactionHash: '0xf0554493c273352eac667eb30a1b70fffa8e8a0f682928b31baaceccc17c64b9',
transactionIndex: '0x0',
type: 'TxTypeValueTransfer',
typeInt: 8,
value: '0xde0b6b3a7640000'
}

caver.rpc.klay.getTransactionReceiptBySenderTxHash


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

根據交易哈希返回交易的收據。

請注意,只有在節點中通過 --sendertxhashindexing啟用了索引功能時,此 API 才會返回正確的結果。 使用 caver.rpc.klay.isSenderTxHashIndexingEnabled 檢查索引功能是否啟用。

注意* 對於交易尚未處理的 "待處理 "交易,不提供收據。

參數

名稱類型描述
發送方 TxHash字符串發送方交易哈希值。 返回事務的 [senderTxHash](.../.../.../.../.../learn/transactions/transactions.md#sendertxhash)。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns number

類型描述
對象交易收據對象,詳見 caver.rpc.klay.getTransactionReceipt

示例


> caver.rpc.klay.getTransactionReceiptBySenderTxHash('0xdb63fb385e51fbfd84a98873c994aef622c5f1c72c5760a9ff95c55bbfd99898').then(console.log)
{
blockHash: '0xc9f643c0ebe84932c10695cbc9eb75228af09516931b58952de3e12c21a50576',
blockNumber: '0xb7',
contractAddress: null,
effectiveGasPrice: '0x5d21dba00',
from: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e',
gas: '0x61a8',
gasPrice: '0x5d21dba00',
gasUsed: '0x5208',
logs: [],
logsBloom: '0x00000...',
nonce: '0x0',
senderTxHash: '0xdb63fb385e51fbfd84a98873c994aef622c5f1c72c5760a9ff95c55bbfd99898',
signatures: [ { V: '0x4e44', R: '0xf1a9a...', S: '0x9116c...' } ],
status: '0x1',
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
transactionHash: '0xdb63fb385e51fbfd84a98873c994aef622c5f1c72c5760a9ff95c55bbfd99898',
transactionIndex: '0x0',
type: 'TxTypeValueTransfer',
typeInt: 8,
value: '0x8ac7230489e80000',
}

caver.rpc.klay.sendRawTransaction


caver.rpc.klay.sendRawTransaction(signedTransaction [, callback])

向 kaia 發送 "簽名交易"。

signedTransaction "參數可以是 "RLP 編碼的簽名交易"。 您可以使用 transaction.getRLPEncoding 獲取已簽名事務的 RLP 編碼事務。 為方便起見,caver.rpc.klay.sendRawTransaction 也接受 "已簽名事務實例 "作為參數。

參數

名稱類型描述
簽名交易string \object
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

類型描述
PromiEvent一個承諾組合事件發射器。 當有交易收據時,該問題將得到解決。

PromiEvent 可用於以下事件:

  • 事務散列返回字符串:在發送事務且事務哈希值可用後立即觸發。
  • 收據 "返回 "對象":當有交易收據時觸發。 詳情請參閱 caver.rpc.klay.getTransactionReceipt
  • error返回Error`:如果在發送過程中發生錯誤,則觸發。 如果出現缺gas錯誤,第二個參數就是收據。

示例


// Using promise
> caver.rpc.klay.sendRawTransaction('0x08f88...').then(console.log)
{
blockHash: '0x8bff3eb5444711f53707c1c006dac54164af6f873c0f012aff98479155de3c46',
blockNumber: '0x18a6',
contractAddress: null,
from: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e',
gas: '0x61a8',
gasPrice: '0x5d21dba00',
gasUsed: '0x5208',
logs: [],
logsBloom: '0x00000...',
nonce: '0xc',
senderTxHash: '0x72ea9179350cf2943e966eaf1e1e651d4e1b50ead4b6e6a574a4297c9f0f7017',
signatures: [ { V: '0x4e43', R: '0x3bee4...', S: '0x101a1...' } ],
status: '0x1',
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
transactionHash: '0x72ea9179350cf2943e966eaf1e1e651d4e1b50ead4b6e6a574a4297c9f0f7017',
transactionIndex: '0x0',
type: 'TxTypeValueTransfer',
typeInt: 8,
value: '0x8ac7230489e80000',
}
// Using event emitter
> caver.rpc.klay.sendRawTransaction('0x08f88...').on('transactionHash', h => {...}).on('receipt', r => {...}).on('error', console.error)

caver.rpc.klay.sendTransaction


caver.rpc.klay.sendTransaction(transaction [, callback])

使用 kaia 節點中的 "導入賬戶私鑰 "將事務簽署為事務 "發送方",並將事務傳播到 kaia。

有關每種事務類型的更多信息,請參閱 [事務](.../caver-transaction/caver-transaction.md#class)。

注意:此 API 提供了使用 kaia 節點中的 導入賬戶 簽署交易的功能。 您節點中的導入賬戶必須[解鎖](.../.../.../.../jsson-rpc/personal.md#personal_unlockaccount)才能簽署交易。

參數

名稱類型描述
交易對象要發送到 kaia 的事務實例。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

類型描述
PromiEvent一個承諾組合事件發射器。 當有交易收據時,該問題將得到解決。

PromiEvent 可用於以下事件:

  • 事務散列返回字符串:在發送事務且事務哈希值可用後立即觸發。
  • 收據 "返回 "對象":當有交易收據時觸發。 詳情請參閱 caver.rpc.klay.getTransactionReceipt
  • error返回Error`:如果在發送過程中發生錯誤,則觸發。 如果出現缺gas錯誤,第二個參數就是收據。

示例


> const tx = caver.transaction.valueTransfer.create({
from: '0x{address in hex}', // The address of imported account in kaia Node
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
value: caver.utils.convertToPeb(10, 'KLAY'),
gas: 25000
})
// Using promise
> caver.rpc.klay.sendTransaction(tx).then(console.log)
{
blockHash: '0xbfce3abcad0204e363ee9e3b94d15a20c1a4b86ac6cf51dd74db2226ab5b9e99',
blockNumber: '0x1d18',
contractAddress: null,
from: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e',
gas: '0x61a8',
gasPrice: '0x5d21dba00',
gasUsed: '0x5208',
logs: [],
logsBloom: '0x00000...',
nonce: '0x13',
senderTxHash: '0x2c001a776290ac55ac53a82a70a0b71e07c985fe57fd9d8e422b919d4317002e',
signatures: [ { V: '0x4e43', R: '0xeac91...', S: '0xa0aa4...' } ],
status: '0x1',
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
transactionHash: '0x2c001a776290ac55ac53a82a70a0b71e07c985fe57fd9d8e422b919d4317002e',
transactionIndex: '0x0',
type: 'TxTypeValueTransfer',
typeInt: 8,
value: '0x8ac7230489e80000',
}
// Using event emitter
> caver.rpc.klay.sendTransaction(tx).on('transactionHash', h => {...}).on('receipt', r => {...}).on('error', console.error)

caver.rpc.klay.sendTransactionAsFeePayer


caver.rpc.klay.sendTransactionAsFeePayer(transaction [, callback])

使用 kaia 節點中的 "導入賬戶私鑰 "將費用委託交易簽署為交易 "費用支付方",並將交易傳播到 kaia。

在使用 "sendTransaction "作為付費方之前,交易發送方必須已使用有效簽名,且 "nonce "已定義。

有關每種事務類型的更多信息,請參閱 [事務](.../caver-transaction/caver-transaction.md#class)。

注意:此 API 提供了使用 kaia 節點中的 導入賬戶 簽署交易的功能。 您節點中的導入賬戶必須[解鎖](.../.../.../.../jsson-rpc/personal.md#personal_unlockaccount)才能簽署交易。

參數

名稱類型描述
transaction對象要發送給 kaia 的收費委託事務實例。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

類型描述
PromiEvent一個承諾組合事件發射器。 當有交易收據時,該問題將得到解決。

PromiEvent 可用於以下事件:

  • 事務散列返回字符串:在發送事務且事務哈希值可用後立即觸發。
  • 收據 "返回 "對象":當有交易收據時觸發。 詳情請參閱 caver.rpc.klay.getTransactionReceipt
  • error返回Error`:如果在發送過程中發生錯誤,則觸發。 如果出現缺gas錯誤,第二個參數就是收據。

示例


> const tx = caver.transaction.feeDelegatedValueTransfer.create({
from: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
value: caver.utils.toPeb(1, 'KLAY'),
gas: 50000,
nonce: 1,
signatures: [
[
'0x4e43',
'0x873e9db6d055596a8f79a6a2761bfb464cbc1b352ac1ce53770fc23bb16d929c',
'0x15d206781cc8ac9ffb02c08545cb832e1f1700b46b886d72bb0cfeb4a230871e',
],
],
feePayer: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e', // The address of imported account in kaia Node
})
// Using promise
> caver.rpc.klay.signTransaction(tx).then(console.log)
{
blockHash: '0x3be2f5b17eb35d0cf83b493ddfaa96d44cba40d1839778b4a8267f4c0aa61449',
blockNumber: '0x23ef',
contractAddress: null,
feePayer: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e',
feePayerSignatures: [ { V: '0x4e43', R: '0x7a9ec...', S: '0x22be3...' } ],
from: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
gas: '0xc350',
gasPrice: '0x5d21dba00',
gasUsed: '0x7918',
logs: [],
logsBloom: '0x00000...',
nonce: '0x1',
senderTxHash: '0x71ca2e169a9c6c7b5bfdfa68e584314978f2abef955f8a2666325b860e2c9df5',
signatures: [ { V: '0x4e43', R: '0x873e9...', S: '0x15d20...' } ],
status: '0x1',
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
transactionHash: '0x04fa82ce10168e05db04a235f025e5b8bc004ab36710798a512fab75a95bfc52',
transactionIndex: '0x0',
type: 'TxTypeFeeDelegatedValueTransfer',
typeInt: 9,
value: '0xde0b6b3a7640000',
}
// Using event emitter
> caver.rpc.klay.sendTransactionAsFeePayer(tx).on('transactionHash', h => {...}).on('receipt', r => {...}).on('error', console.error)

caver.rpc.klay.signTransaction


caver.rpc.klay.signTransaction(transaction [, callback])

使用 kaia 節點中的 "導入賬戶私鑰 "作為交易發送方簽署交易。

有關每種事務類型的更多信息,請參閱 [事務](.../caver-transaction/caver-transaction.md#class)。

注意:此 API 提供了使用 kaia 節點中的 導入賬戶 簽署交易的功能。 您節點中的導入賬戶必須[解鎖](.../.../.../.../jsson-rpc/personal.md#personal_unlockaccount)才能簽署交易。

參數

名稱類型描述
交易對象要簽署的交易實例。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise 返回 object - 對象包括代碼塊:

名稱類型描述
raw字符串RLP 編碼的簽名交易。
tx對象交易對象,包括髮件人簽名。

示例


> const tx = caver.transaction.valueTransfer.create({
from: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e', // The address of imported account in kaia Node
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
value: caver.utils.toPeb(10, 'KLAY'),
gas: 25000
})
> caver.rpc.klay.signTransaction(tx).then(console.log)
{
raw: '0x08f88...',
tx: {
typeInt: 8,
type: 'TxTypeValueTransfer',
nonce: '0x16',
gasPrice: '0x5d21dba00',
gas: '0x61a8',
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
value: '0x8ac7230489e80000',
from: '0x3af68ad73f45a1e7686e8fcd23e910625ef2186e',
signatures: [ { V: '0x4e43', R: '0x52d64...', S: '0x1371e...' } ],
hash: '0xe816952761caccf86ab281a00e10a36da6579c425041906a235f10959b2960b1'
}
}

caver.rpc.klay.signTransactionAsFeePayer


caver.rpc.klay.signTransactionAsFeePayer(transaction [, callback])

使用 kaia 節點中的 "導入賬戶私鑰 "作為交易費支付方簽署交易。

有關每種事務類型的更多信息,請參閱 [事務](.../caver-transaction/caver-transaction.md#class)。

注意:此 API 提供了使用 kaia 節點中的 導入賬戶 簽署交易的功能。 您節點中的導入賬戶必須已[解鎖](.../.../.../.../jsson-rpc/personal.md#personal_unlockaccount),才能簽署信息。

參數

名稱類型描述
交易對象要簽署的交易實例。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise 返回 object - 對象包括代碼塊:

名稱類型描述
raw字符串RLP 編碼的簽名交易。
tx對象作為繳費人簽署的交易對象。

示例


> const tx = caver.transaction.feeDelegatedValueTransfer.craete({
from: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
value: caver.utils.toPeb(1, 'KLAY'),
gas: 50000,
nonce: 0,
signatures: [
[
'0x4e43',
'0xe87291c7311534c3e451c6f6b8cafdf7454970f98504e9af6cfdeb29757ba458',
'0x26dcf6f3702110230b806628165e28771e1152ea864ee4c69557faccd4d3dae8',
],
],
feePayer: '0xe8b3a6ef12f9506e1df9fd445f9bb4488a482122', // The address of imported account in kaia Node
})
> caver.rpc.klay.signTransactionAsFeePayer(tx).then(console.log)
{
raw: '0x09f8e...',
tx: {
typeInt: 9,
type: 'TxTypeFeeDelegatedValueTransfer',
nonce: '0x0',
gasPrice: '0x5d21dba00',
gas: '0xc350',
to: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
value: '0xde0b6b3a7640000',
from: '0x1637a2fc3ef9a391b2d8411854167ab3912a2fcc',
signatures: [ { V: '0x4e43', R: '0xe8729...', S: '0x26dcf...' } ],
feePayer: '0xe8b3a6ef12f9506e1df9fd445f9bb4488a482122',
feePayerSignatures: [ { V: '0x4e43', R: '0x5cce8...', S: '0x32907...' } ],
hash: '0xdb89281f3a44a2370d73b389bbcfb9a597f558219145cf269a0b1480f8e778cc',
},
}

caver.rpc.klay.getDecodedAnchoringTransactionByHash


caver.rpc.klay.getDecodedAnchoringTransactionByHash(transactionHash [, callback])

根據給定的事務哈希值,返回事務中已解碼的錨點數據。

參數:

名稱類型描述
交易哈希值。字符串交易哈希值。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise 返回 object - 對象包括塊標頭:

名稱類型描述
BlockHash字符串執行錨定交易的子鏈塊的哈希值。
區塊編號數量執行該錨定交易的子鏈區塊編號。
父哈希值字符串父塊的哈希值。
TxHash字符串區塊的交易三角根。
狀態根哈希值字符串區塊最終狀態三元組的根。
收據哈希值字符串區塊收據三元組的根。
區塊數數量錨定期間生成的區塊數。 在大多數情況下,這個數字等於子鏈的 SC_TX_PERIOD,除非該事務是開啟錨定後的第一個錨定 tx。
TxCount數量錨定期間子鏈產生的交易次數。

示例


> caver.rpc.klay.getDecodedAnchoringTransactionByHash('0x59831a092a9f0b48018848f5dd88a457efdbfabec13ea07cd769686741a1cd13').then(console.log)
{
BlockCount:86400,
BlockHash: '0x3c44b2ed491be7264b9f6819c67427642447716576b6702a72f6fdc40c41abde',
BlockNumber:23414400,
ParentHash: '0x735468bb091a296c45553c8f67a8d0d39ac428cbe692b1b6c494d336351477f3',
ReceiptHash:0x6a908d319b6f6ab4414da1afd6763d70ecc8037ec167aaa8942bc0c2af12b4ab',
StateRootHash: '0x4a664227fb2508a2952a4695cabb88b433522af2a5dee50cc6dd4036d85bf1d3',
TxCount:50895,
TxHash: '0x753a85d2c53fc34cb9108301f1cf8ff8d78dde13d42d80958e47e388008319cd',
}

caver.rpc.klay.getChainId


caver.rpc.klay.getChainId([callback])

返回鏈的 ID。

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串鏈的鏈 ID。

示例


> caver.rpc.klay.getChainId().then(console.log)
0x2710

caver.rpc.klay.getClientVersion


caver.rpc.klay.getClientVersion([callback])

返回 kaia 節點的當前客戶端版本。

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串kaia 節點的當前客戶端版本。

示例


> caver.rpc.klay.getClientVersion().then(console.log)
kaia/v1.3.0+144494d2aa/linux-amd64/go1.13.1

caver.rpc.klay.getGasPrice


caver.rpc.klay.getGasPrice([callback])

返回單位gas的當前價格(以 wei 為單位)。

參數:

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串目前 peb 的Gas價格。

示例


> caver.rpc.klay.getGasPrice().then(console.log)
0x5d21dba00

caver.rpc.klay.getGasPriceAt


caver.rpc.klay.getGasPriceAt([blockNumber] [, callback])

返回給定區塊當前的單位為 peb 的gas價格。

參數

名稱類型描述
區塊編號數量(可選)區塊編號。 如果省略,將返回最新單價。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串目前 peb 的gas價格。

示例


> caver.rpc.klay.getGasPriceAt().then(console.log)
0x5d21dba00

caver.rpc.klay.getMaxPriorityFeePerGas


caver.rpc.klay.getMaxPriorityFeePerGas([callback])

返回 peb 中動態收費交易的建議gas小費上限。 由於 kaia 有固定的gas價格,因此會返回 kaia 設定的gas價格。

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串建議使用peb付Gas費用

示例


> caver.rpc.klay.getMaxPriorityFeePerGas().then(console.log)
0x5d21dba00

caver.rpc.klay.getLowerBoundGasPrice


caver.rpc.klay.getLowerBoundGasPrice([callback])

返回以 peb 為單位的gas價格下限。

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串以 peb 為單位的下限gas價格。

示例


> caver.rpc.klay.getLowerBoundGasPrice().then(console.log)
0x5d21dba00

caver.rpc.klay.getUpperBoundGasPrice


caver.rpc.klay.getUpperBoundGasPrice([callback])

返回以 peb 為單位的gas價格上限。

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串以 peb 為單位的gas價格上限。

示例


> caver.rpc.klay.getUpperBoundGasPrice().then(console.log)
0xae9f7bcc00

caver.rpc.klay.getFeeHistory


caver.rpc.klay.getFeeHistory(blockCount, lastBlock, rewardPercentiles [, callback])

返回返回區塊範圍的收費歷史記錄。 如果不是所有區塊都可用,則可以是所請求範圍的一個分段。

參數

名稱類型描述
區塊數number\BigNumber\
lastBlocknumber\BigNumber\
rewardPercentiles數組單調遞增的百分位值列表,從每個區塊的每個gas有效優先權費用中按升序取樣,並根據所用gas加權。 (例如:['0'、'25'、'50'、'75'、'100']['0'、'0.5'、'1'、'1.5'、'3'、'80'])
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise 返回 object - 對象包括代碼塊:

名稱類型描述
oldestBlock字符串返回範圍內的最低數塊。
獎勵數組二維數組,包含所要求的區塊百分位數下每種gas的有效優先權費。
baseFeePerGas數組每個gas的區塊基本費用數組。 這包括返回範圍中最新區塊之後的下一個區塊,因為該值可以從最新區塊中導出。 EIP-1559 之前的數據塊返回 0。
gas用量比數組區塊中gasUsed/gasLimit的數組。

示例


> caver.rpc.klay.getFeeHistory(3, 'latest', [0.1, 0.2, 0.3]).then(console.log)
{
oldestBlock: '0xbb701',
reward: [
[ '0x0', '0x0', '0x0' ],
[ '0x5d21dba00', '0x5d21dba00', '0x5d21dba00' ],
[ '0x0', '0x0', '0x0' ]
],
baseFeePerGas:[ '0x0', '0x0', '0x0', '0x0' ],
gasUsedRatio: [ 0, 2.1000000000021e-8, 0 ]
}

caver.rpc.klay.createAccessList


caver.rpc.klay.createAccessList(txCallObject [, callback])

此方法根據給定的事務創建訪問列表。 accessList 包含事務讀寫的所有存儲槽和地址,發送者賬戶和預編譯器除外。 該方法使用與 caver.rpc.klay.call 相同的事務調用對象和 blockNumberOrTag 對象。 訪問列表可用於釋放因gas成本增加而無法訪問的卡滯合同。 與沒有訪問列表的交易相比,在交易中添加訪問列表並不一定會降低gas用量。

參數

名稱類型描述
callObject對象交易調用對象。 請參閱 caver.rpc.klay.call 參數。
blockParameternumber\BigNumber\
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise 返回 object - 對象包括代碼塊:

名稱類型描述
oldestBlock字符串返回範圍內的最低數塊。
獎勵數組二維數組,包含所要求的區塊百分位數下每種gas的有效優先權費。
基本gas費數組每個gas的區塊基本費用數組。 這包括返回範圍中最新區塊之後的下一個區塊,因為該值可以從最新區塊中導出。 EIP-1559 之前的數據塊返回 0。
gas用量比數組區塊中gasUsed/gasLimit的數組。

示例


> caver.rpc.klay.createAccessList({
from: '0x3bc5885c2941c5cda454bdb4a8c88aa7f248e312',
data: '0x20965255',
gasPrice: '0x3b9aca00',
gas: '0x3d0900',
to: '0x00f5f5f3a25f142fafd0af24a754fafa340f32c7'
}, 'latest').then(console.log)
{ accessList: [], gasUsed: '0x0' }

caver.rpc.klay.isParallelDBWrite


caver.rpc.klay.isParallelDBWrite([callback])

如果節點以並行方式寫入區塊鏈數據,則返回 true

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns number

類型描述
booleantrue "表示節點正在以並行方式寫入區塊鏈數據。 如果節點正在串行寫入數據,則為 "false"。

示例


> caver.rpc.klay.isParallelDBWrite().then(console.log)
true

caver.rpc.klay.isSenderTxHashIndexingEnabled


caver.rpc.klay.isSenderTxHashIndexingEnabled([callback])

如果節點正在索引發送方交易哈希到交易哈希映射信息,則返回 true

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns number

類型描述
booleantrue "表示節點正在索引發送方交易哈希到交易哈希的映射信息。

示例


> caver.rpc.klay.isSenderTxHashIndexingEnabled().then(console.log)
true

caver.rpc.klay.getProtocolVersion


caver.rpc.klay.getProtocolVersion([callback])

返回節點的 kaia 協議版本。 Cypress/Baobab 的當前版本(截至 v1.9.0)是 istanbul/65

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串節點的 kaia 協議版本。

示例


> caver.rpc.klay.getProtocolVersion().then(console.log)
0x40

caver.rpc.klay.getRewardbase


caver.rpc.klay.getRewardbase([callback])

返回當前節點的 rewardbase。 Rewardbase 是區塊獎勵的賬戶地址。 只有 CN 才需要。

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串獎勵基地地址。

示例


> caver.rpc.klay.getRewardbase().then(console.log)
0xa9b3a93b2a9fa3fdcc31addd240b04bf8db3414c

caver.rpc.klay.getFilterChanges


caver.rpc.klay.getFilterChanges(filterId [, callback])

過濾器的輪詢方法,返回上次輪詢後的日誌數組。

參數

名稱類型描述
filterId字符串過濾器 ID。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise 返回 Array - 日誌對象數組,如果上次輪詢後沒有任何更改,則返回空數組。

名稱類型描述
logIndex字符串區塊中的日誌索引位置。
交易索引字符串創建日誌的事務索引位置。
交易哈希值。字符串創建該日誌的交易散列。 待處理時為 "null"。
blockHash字符串該交易所在區塊的哈希值。 待處理時為 "null"。
區塊編號字符串該日誌所在的區塊編號。 待處理時為 "null"。
address字符串該日誌的來源地址。
數據字符串包含日誌的非索引參數。
topics數組由 0 到 4 個 32 字節的日誌參數數據組成的數組。 (在 Solidity 中:第一個主題是事件簽名的哈希值(e.g., Deposit(address,bytes32,uint256)),除非你用 anonymous 指定符聲明瞭事件)。

示例


> caver.rpc.klay.getFilterChanges('0xafb8e49bbcba9d61a3c616a3a312533e').then(console.log)
[
{
地址:0x71e503935b7816757AA0314d4E7354dab9D39162',
topics:[ '0xe8451a9161f9159bc887328b634789768bd596360ef07c5a5cbfb927c44051f9' ],
data:0x00000000000000000000000000000000000000000001',
blockNumber: '0xdc5',
transactionHash: '0x1b28e2c723e45a0d8978890598903f36a74397c9cea8531dc9762c39483e417f',
transactionIndex:'0x0',
blockHash: '0xb7f0bdaba93d3baaa01a5c24517da443207f774e0202f02c298e8e997a540b3d',
logIndex:'0x0'
}
]

caver.rpc.klay.getFilterLogs


caver.rpc.klay.getFilterLogs(filterId [, callback])

返回一個數組,其中包含與給定 id 的過濾器匹配的所有日誌。 應使用 newFilter 獲取過濾器對象。

請注意,其他過濾器創建函數返回的過濾器 id,如 caver.rpc.klay.newBlockFiltercaver.rpc.klay.newPendingTransactionFilter 不能與此函數一起使用。

參數

名稱類型描述
filterId字符串過濾器 ID。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

參見 caver.rpc.klay.getFilterChanges

示例


> caver.rpc.klay.getFilterLogs('0xcac08a7fc32fc625a519644187e9f690').then(console.log);
[
{
地址:0x55384B52a9E5091B6012717197887dd3B5779Df3',
topics:[ '0xe8451a9161f9159bc887328b634789768bd596360ef07c5a5cbfb927c44051f9' ],
data:0x00000000000000000000000000000000000000000001',
blockNumber: '0x1c31',
transactionHash: '0xa7436c54e47dafbce696de65f6e890c96ac22c236f50ca1be28b9b568034c3b3',
transactionIndex:'0x0',
blockHash: '0xe4f27c524dacfaaccb36735deccee69b3d6c315e969779784c36bb8e14b89e01',
logIndex:'0x0'
}
]

caver.rpc.klay.getLogs


caver.rpc.klay.getLogs(options [, callback])

返回與給定篩選器對象匹配的所有日誌的數組。

參數

名稱類型描述
選項對象過濾器選項。 請參閱下表查找說明。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

選項對象可以包含以下內容

名稱類型描述
fromBlocknumber \string
toBlocknumber \string
addressstring \Array
topics數組(可選)必須出現在日誌條目中的值數組。 順序很重要。 如果您想省略主題,請使用 null, e.g., [null,'0x12...']。 您也可以為每個主題傳遞一個數組,其中包含該主題的選項,例如_ [null,['option1','option2']]

返回價值

參見 caver.rpc.klay.getFilterChanges

示例


> caver.rpc.klay.getLogs({
fromBlock: '0x1',
toBlock: 'latest',
address:'0x87ac99835e67168d4f9a40580f8f5c33550ba88b'
}).then(console.log)
[
{
data: '0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385',
topics: [
'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7', '0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385
]
logIndex: '0x0',
transactionIndex: '0x0',
transactionHash: '0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385',
blockHash: '0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7',
blockNumber: '0x4d2',
address: '0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'
},
{...}
]

caver.rpc.klay.newBlockFilter


caver.rpc.klay.newBlockFilter([callback])

在節點中創建一個過濾器,在有新塊到達時發出通知。 要檢查狀態是否已更改,請調用 [caver.rpc.klay.getFilterChanges](#caver-rpc-klay-getfilterchanges)。

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串過濾器 ID。

示例


> caver.rpc.klay.newBlockFilter().then(console.log)
0xf90906914486a9c22d620e50022b38d5

caver.rpc.klay.newFilter


caver.rpc.klay.newFilter(options [, callback])

使用給定的篩選器選項創建篩選器對象,以接收特定的狀態變化(日誌)。

  • 要檢查狀態是否已更改,請調用 [caver.rpc.klay.getFilterChanges](#caver-rpc-klay-getfilterchanges)。
  • 要獲取與newFilter創建的過濾器匹配的所有日誌,請調用caver.rpc.klay.getFilterLogs

有關過濾器對象主題的詳細信息,請參閱 [Kaia Platform API - klay_newFilter](.../../../../json-rpc/klay/filter.md#klay_newfilter)。

參數

名稱類型描述
選項對象過濾器選項。 請參閱下表查找說明。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

選項對象可以包含以下內容

名稱類型描述
fromBlocknumber \string
toBlocknumber \string
addressstring \Array
topics數組(可選)必須出現在日誌條目中的值數組。 順序很重要。 如果您想省略主題,請使用 null, e.g., [null,'0x12...']。 您也可以為每個主題傳遞一個數組,其中包含該主題的選項,例如_ [null,['option1','option2']]

返回價值

Promise returns Array

類型描述
字符串過濾器 ID。

示例


> caver.rpc.klay.newFilter({}).then(console.log)
0x40d40cb9758c6f0d99d9c2ce9c0f823
> caver.rpc.klay.newFilter({ address: '0x55384B52a9E5091B6012717197887dd3B5779Df3' }).then(console.log)
0xd165cbf31b9d60346aada33dbefe01b

caver.rpc.klay.newPendingTransactionFilter


caver.rpc.klay.newPendingTransactionFilter([callback])

在節點中創建一個過濾器,用於接收新的待處理事務到達的信息。 要檢查狀態是否已更改,請調用 [caver.rpc.klay.getFilterChanges](#caver-rpc-klay-getfilterchanges)。

參數

名稱類型描述
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串過濾器 ID。

示例


> caver.rpc.klay.newPendingTransactionFilter().then(console.log)
0xe62da1b2a09efcd4168398bdbf586db0

caver.rpc.klay.uninstallFilter


caver.rpc.klay.uninstallFilter(filterId [, callback])

卸載具有給定 Id 的過濾器。 當不再需要監控時應總是被調用。 此外,當過濾器在一段時間內未被 caver.rpc.klay.getFilterChanges 調用時,過濾器就會超時。

參數

名稱類型描述
filterId字符串過濾器 ID。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns number

類型描述
boolean如果過濾器已成功卸載,則為 true,否則為 false

示例


> caver.rpc.klay.uninstallFilter('0x1426438ffdae5abf43edf4159c5b013b').then(console.log)
true

caver.rpc.klay.sha3


caver.rpc.klay.sha3(data[, callback])

返回給定數據的 Keccak-256(而非標準化的 SHA3-256)。 您可以使用 [caver.utils.sha3](../caver.utils.md#sha3)代替它。

參數

名稱類型描述
數據字符串要轉換成 SHA3 哈希值的數據。
callbackfunction(可選)可選回調,第一個參數返回錯誤對象,第二個參數返回結果。

返回價值

Promise returns Array

類型描述
字符串給定數據的 SHA3 結果。

示例


> caver.rpc.klay.sha3('0x11223344').then(console.log)
0x36712aa4d0dd2f64a9ae6ac09555133a157c74ddf7c079a70c33e8b4bf70dd73

讓這個頁面變得更好