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

caver.transaction

caver.transaction "是一個提供與 "Transaction "相關功能的軟件包。

Class

下表詳細介紹了每個交易類別:

基礎費用委託部分費用委託
LegacyTransactionLegacyTransactionN/AN/A
ValueTransferValueTransferFeeDelegatedValueTransferFeeDelegatedValueTransferWithRatio
ValueTransferMemoValueTransferMemoFeeDelegatedValueTransferMemoFeeDelegatedValueTransferMemoWithRatio
SmartContractDeploySmartContractDeployFeeDelegatedSmartContractDeployFeeDelegatedSmartContractDeployWithRatio
SmartContractExecutionSmartContractExecutionFeeDelegatedSmartContractExecutionFeeDelegatedSmartContractExecutionWithRatio
AccountUpdateAccountUpdateFeeDelegatedAccountUpdateFeeDelegatedAccountUpdateWithRatio
CancelCancelFeeDelegatedCancelFeeDelegatedCancelWithRatio
ChainDataAnchoringChainDataAnchoringFeeDelegatedChainDataAnchoringFeeDelegatedChainDataAnchoringWithRatio
EthereumAccessListEthereumAccessListN/AN/A
EthereumDynamicFeeEthereumDynamicFeeN/AN/A

caver.transaction.decode


caver.transaction.decode(rlpEncoded)

解碼 RLP 編碼的事務字符串(原始事務),並返回一個 [事務](#class)實例。

參數

名稱類型描述
rlpEncodedstring要解碼的 RLP 編碼事務字符串。

返回價值

類型描述
object[Transaction]的一個實例 有關各事務的詳情,請參閱 [Transaction]

示例


> caver.transaction.decode('0x08f87...')
ValueTransfer {
_type: 'TxTypeValueTransfer',
_from: '0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
_gas: '0xf4240',
_nonce: '0x4d2',
_gasPrice: '0x19',
_signatures: [
SignatureData { _v: '0x25', _r: '0xf3d0c...', _s: '0x6748a...' }
],
_to: '0x7b65b75d204abed71587c9e519a89277766ee1d0',
_value: '0xa'
}

caver.transaction.getTransactionByHash


caver.transaction.getTransactionByHash('0x{transaction hash}')

從 kaia 查詢事務並轉換為 caver 事務實例。

注意 caver.transaction.getTransactionByHash 自 caver-js v1.6.3 開始支持。

參數

名稱類型描述
transactionHashstring要從 kaia 查詢的事務哈希字符串。

返回價值

返回 objectPromise 事務的實例。 如果無法從 kaia 收到事務對象,就會發生錯誤。

類型描述
object[Transaction]的一個實例 有關各事務的詳情,請參閱 [Transaction]。

示例


> caver.transaction.getTransactionByHash('0x30575f5a76a4477502aa1e5e707e47f05b92c3450132529cf55764cc94f780b0').then(console.log)
LegacyTransaction {
_type: 'TxTypeLegacyTransaction',
_from: '0x9ce618d097ea54c00d1562cb060576ff64139f10',
_gas: '0x81b320',
_nonce: '0x1de',
_gasPrice: '0x5d21dba00',
_signatures: SignatureData {
_v: '0x07f5',
_r: '0x359a09ebd2842cfc9cad6fd93c299da8629292bb3a69410c73837f7ca15cfd51',
_s: '0x6f348cc656b90e79cfc1e748c3371fbd0128b83b787a110622f3aa5143a017f8'
},
_to: '0x',
_input: '0x60806...',
_value: '0x0'
}

caver.transaction.recoverPublicKeys


caver.transaction.recoverPublicKeys('0x{RLP-encoded transaction}')

從給定事務的 "signatures "字段中恢復公鑰字符串。

注意 caver.transaction.recoverPublicKeys 自 caver-js v1.6.3 開始支持。

參數

名稱類型描述
rawTxstringRLP 編碼的事務字符串,用於從 "signatures "中恢復公鑰。

返回價值

類型說明
Array包含從 signatures 中恢復的公鑰的數組。

示例


> caver.transaction.recoverPublicKeys('0x08f9010e808505d21dba008402faf0809459177716c34ac6e49e295a0e78e33522f14d61ee0194f21460730845e3652aa3cc9bc13b345e4f53984af8d5f845820feaa02b5934c6d26bb3e65edf099d79c57c743d2f70744ca09d3ba9a1099edff9f173a00797886edff4b449c1a599943e3a6003ae9e46b3f3f34862ced327e43fba3a6af845820fe9a063177648732ef855f800eb9f80f68501abb507f84c0d660286a6e0801334a1d2a0620a996623c114f2df35b11ec8ac4f3758d3ad89cf81ba13614e51908cfe9218f845820fe9a086c8ecbfd892be41d48443a2243274beb6daed3f72895045965a3baede4c350ea069ea748aff6e4c106d3a8ba597d8f134745b76f12dacb581318f9da07351511a')
[
'0x8bb6aaeb2d96d024754d3b50babf116cece68977acbe8ba6a66f14d5217c60d96af020a0568661e7c72e753e80efe084a3aed9f9ac87bf44d09ce67aad3d4e01',
'0xc7751c794337a93e4db041fb5401c2c816cf0a099d8fd4b1f3f555aab5dfead2417521bb0c03d8637f350df15ef6a6cb3cdb806bd9d10bc71982dd03ff5d9ddd',
'0x3919091ba17c106dd034af508cfe00b963d173dffab2c7702890e25a96d107ca1bb4f148ee1984751e57d2435468558193ce84ab9a7731b842e9672e40dc0f22'
]

caver.transaction.recoverFeePayerPublicKeys


caver.transaction.recoverFeePayerPublicKeys('0x{RLP-encoded transaction}')

從給定交易的 "feePayerSignatures "字段中恢復公鑰字符串。

注意 caver.transaction.rec recoverFeePayerPublicKeys 自 caver-js v1.6.3 開始支持。

參數

名稱類型描述
rawTxstringRLP 編碼的事務字符串,用於從 "付費者簽名 "中恢復公鑰。 要恢復繳費人的公鑰,交易應是一個內含 feePayerSignatures 字段的收費委託交易。

返回價值

類型描述
Array數組,包含從 feePayerSignatures 中獲取的公鑰。

示例


> caver.transaction.recoverFeePayerPublicKeys('0x09f901fa808505d21dba008402faf0809459177716c34ac6e49e295a0e78e33522f14d61ee019407a9a76ef778676c3bd2b334edcf581db31a85e5f8d5f845820feaa0cb2bbf04a12ec3a06163c30ce8782739ec4745a53e265aa9443f1c0d678bb871a07dd348c7d8fce6be36b661f116973d1c36cc92a389ad4a1a4053bd486060a083f845820fe9a06d5dfca992d6833c0da272578bc6ea941be45f44fb2fa114310ebe18d673ed52a04dc5cd7985c9ce7d44d46d65e65c995a4a8c97159a1eed8b2efb0510b981ab7cf845820feaa0945151edf556fbcebf832092d4534b9a3b1f3d46f85bce09e7d7211070cb57bea01617c8f918f96970baddd12f240a9824eca6b29d91eb7333adacb987f2dcd8dd94b5db72925b1b6b79299a1a49ae226cd7861083acf8d5f845820feaa086fd17d788e89a6e0639395b3c0a04f916103debd6cbe639d6f4ff5034dde3e8a00795551c551d9096234c290689767f34f2d409c95166ab18d216dbc93845ba16f845820feaa00653b6d1cdb90462094b089ce8e2fed0e3b8ec2c44125965e1a5af286644c758a0259b10e3bf594d48535fd0d95e15d095897c8d075c01dd56e7417d5943b0d53af845820fe9a0ce8d051427adab10d1dc93de49123aeab18ba8aadedce0d57ef5b7fa451b1f4fa04fe2a845d92ff48abca3e1d59637fab5f4a4e3172d91772d9bfce60760edc506')
[
'0x2b557d80ddac3a0bbcc8a7861773ca7434c969e2721a574bb94a1e3aa5ceed3819f08a82b31682c038f9f691fb38ee4aaf7e016e2c973a1bd1e48a51f60a54ea',
'0x1a1cfe1e2ec4b15520c57c20c2460981a2f16003c8db11a0afc282abf929fa1c1868f60f91b330c423aa660913d86acc2a0b1b15e7ba1fe571e5928a19825a7e',
'0xdea23a89dbbde1a0c26466c49c1edd32785432389641797038c2b53815cb5c73d6cf5355986fd9a22a68bb57b831857fd1636362b383bd632966392714b60d72'
]

transaction.sign


transaction.sign(keyring [, index] [, hasher])

使用 "鑰匙環 "中的私人密鑰以事務發送者的身份簽署事務,並在事務對象中添加 "簽名"。

對於[賬戶更新](./basic.md#accountupdate)事務,使用[roleAccountUpdateKey](./../../../.../learn/accounts.否則,請使用 RoleBasedKeyring 中的 roleTransactionKey。 如果用戶沒有定義 "index",則 "transaction.sign "會使用角色使用的所有私鑰簽署事務。 如果定義了 index,則 transaction.sign 只使用給定索引上的一個私鑰簽署事務。

參數

名稱類型描述
keyring對象 | 字符串也可使用私鑰字符串(KlaytnWalletKey 格式)或 Keyring 實例(SingleKeyringMultipleKeyringRoleBasedKeyring)。 如果私鑰字符串或KlaytnWalletKey作為參數傳遞,則會在內部創建密鑰環實例。
index數字(可選)要使用的私人密鑰的索引。 索引必須小於為每個角色定義的私鑰數組的長度。 如果沒有定義索引,該方法將使用所有私鑰。
hasher函數(可選)用於獲取交易哈希值的哈希函數。

返回價值

返回 "對象 "的 "許諾":已簽署的事務。

類型描述
object已簽名 [Transaction] 的實例。 簽名將附加到 transaction.signatures 中。

示例


// This example uses the ValueTransfer transaction.
> const transaction = caver.transaction.valueTransfer.create({
from: '0xe7e9184c125020af5d34eab7848bab799a1dcba9',
to: '0x3424b91026bdc5ec55df4548e6ebf0f28b60abd7',
value: 1,
gas: 30000,
})
> const customHasher = () => { ... }
// Sign a transaction with the roleBasedKeyring which use two private keys for roleTransactionKey
> transaction.sign(roleBasedKeyring).then(console.log)
ValueTransfer {
_type: 'TxTypeValueTransfer',
_from: '0xe7e9184c125020af5d34eab7848bab799a1dcba9',
_gas: '0x7530',
_signatures: [
SignatureData { _v: '0x4e43', _r: '0xd78a2...', _s: '0x379e9...' },
SignatureData { _v: '0x4e43', _r: '0x70a58...', _s: '0x2ab28...' }
],
_to: '0x3424b91026bdc5ec55df4548e6ebf0f28b60abd7',
_value: '0x1',
_chainId: '0x2710',
_gasPrice: '0x5d21dba00',
_nonce: '0x0'
}
// Sign a transaction with the roleBasedKeyring which use two private keys for roleTransactionKey and index
> transaction.sign(roleBasedKeyring, 1).then(console.log)
ValueTransfer {
_type: 'TxTypeValueTransfer',
_from: '0xe7e9184c125020af5d34eab7848bab799a1dcba9',
_gas: '0x7530',
_signatures: [
SignatureData { _v: '0x4e43', _r: '0x70a58...', _s: '0x2ab28...' }
],
_to: '0x3424b91026bdc5ec55df4548e6ebf0f28b60abd7',
_value: '0x1',
_chainId: '0x2710',
_gasPrice: '0x5d21dba00',
_nonce: '0x0'
}
// Sign a transaction with the roleBasedKeyring which use two private keys for roleTransactionKey and hasher
> transaction.sign(roleBasedKeyring, customHasher).then(console.log)
ValueTransfer {
_type: 'TxTypeValueTransfer',
_from: '0xe7e9184c125020af5d34eab7848bab799a1dcba9',
_gas: '0x7530',
_signatures: [
SignatureData { _v: '0x4e44', _r: '0x7a8b6...', _s: '0x17139...' },
SignatureData { _v: '0x4e43', _r: '0x7f978...', _s: '0x1a532...' }
],
_to: '0x3424b91026bdc5ec55df4548e6ebf0f28b60abd7',
_value: '0x1',
_chainId: '0x2710',
_gasPrice: '0x5d21dba00',
_nonce: '0x0'
}
// Sign a transaction with the roleBasedKeyring which use two private keys for roleTransactionKey, index and hasher
> transaction.sign(roleBasedKeyring, 1, customHasher).then(console.log)
ValueTransfer {
_type: 'TxTypeValueTransfer',
_from: '0xe7e9184c125020af5d34eab7848bab799a1dcba9',
_gas: '0x7530',
_signatures: [
SignatureData { _v: '0x4e43', _r: '0x7f978...', _s: '0x1a532...' }
],
_to: '0x3424b91026bdc5ec55df4548e6ebf0f28b60abd7',
_value: '0x1',
_chainId: '0x2710',
_gasPrice: '0x5d21dba00',
_nonce: '0x0'
}

transaction.signAsFeePayer


transaction.signAsFeePayer(keyring [, index] [, hasher])

將事務簽署為事務 "付費者",並在事務對象中附加 "付費者簽名 "和 "鑰匙環 "中的私人密鑰。

要以付費者身份簽署交易,請使用 keyring 中的 roleFeePayerKey 。 如果用戶未定義 "索引",則 "transaction.signAsFeePayer "會使用角色使用的所有私鑰簽署交易。 如果定義了 "index",則 "transaction.signAsFeePayer "只使用給定索引中的一個私鑰來簽署交易。

如果未定義 "transaction.feePayer",給定密鑰的地址將設置為 "transaction.feePayer"。

如果用於簽署交易的 keyring 已添加到 caver.wallet 中,則可以使用 caver.wallet.signAsFeePayer.

注意* 該功能僅適用於 "收費委託 "交易或 "按比例收費委託 "交易。

參數

名稱類型描述
keyring對象 | 字符串也可使用私鑰字符串(KlaytnWalletKey 格式)或 Keyring 實例(SingleKeyringMultipleKeyringRoleBasedKeyring)。 如果將私鑰字符串或 KlaytnWalletKey 作為參數傳遞,則會在內部創建密鑰環實例。
index數字(可選)要使用的私人密鑰的索引。 索引必須小於為每個角色定義的私鑰數組的長度。 如果沒有定義索引,該方法將使用所有私鑰。
hasher函數(可選)用於獲取交易哈希值的哈希函數。

返回價值

返回 "對象 "的 "許諾":已簽署的事務。

類型描述
object已簽名 [事務](#類)的實例。 簽名將附加到 transaction.feePayerSignatures 中。

示例


// This example uses the FeeDelegatedValueTransfer transaction.
> const transaction = caver.transaction.feeDelegatedValueTransfer.create({
from: '0x6fddbcb99d31b8755c2b840a367f53eea4b4f45c',
to: '0x3424b91026bdc5ec55df4548e6ebf0f28b60abd7',
value: 1,
gas: 30000,
})
> const customHasher = () => { ... }
// Sign a transaction with the address of RoleBasedKeyring which use two private keys for roleFeePayerKey
> transaction.signAsFeePayer(roleBasedKeyring).then(console.log)
FeeDelegatedValueTransfer {
_type: 'TxTypeFeeDelegatedValueTransfer',
_from: '0x6fddbcb99d31b8755c2b840a367f53eea4b4f45c',
_gas: '0x7530',
_signatures: [ SignatureData { _v: '0x01', _r: '0x', _s: '0x' } ],
_feePayer: '0xe7e9184c125020af5d34eab7848bab799a1dcba9',
_feePayerSignatures: [
SignatureData { _v: '0x4e44', _r: '0x7010e...', _s: '0x65d6b...' },
SignatureData { _v: '0x4e43', _r: '0x96ef2...', _s: '0x77f34...' }
],
_to: '0x3424b91026bdc5ec55df4548e6ebf0f28b60abd7',
_value: '0x1',
_chainId: '0x2710',
_gasPrice: '0x5d21dba00',
_nonce: '0x0'
}
// Sign a transaction with the address of RoleBasedKeyring which use two private keys for roleFeePayerKey and index
> transaction.signAsFeePayer(roleBasedKeyring, 1).then(console.log)
FeeDelegatedValueTransfer {
_type: 'TxTypeFeeDelegatedValueTransfer',
_from: '0x6fddbcb99d31b8755c2b840a367f53eea4b4f45c',
_gas: '0x7530',
_signatures: [ SignatureData { _v: '0x01', _r: '0x', _s: '0x' } ],
_feePayer: '0xe7e9184c125020af5d34eab7848bab799a1dcba9',
_feePayerSignatures: [
SignatureData { _v: '0x4e43', _r: '0x96ef2...', _s: '0x77f34...' }
],
_to: '0x3424b91026bdc5ec55df4548e6ebf0f28b60abd7',
_value: '0x1',
_chainId: '0x2710',
_gasPrice: '0x5d21dba00',
_nonce: '0x0'
}
// Sign a transaction with the address of RoleBasedKeyring which use two private keys for roleFeePayerKey and hasher
> transaction.signAsFeePayer(roleBasedKeyring, customHasher).then(console.log)
FeeDelegatedValueTransfer {
_type: 'TxTypeFeeDelegatedValueTransfer',
_from: '0x6fddbcb99d31b8755c2b840a367f53eea4b4f45c',
_gas: '0x7530',
_signatures: [ SignatureData { _v: '0x01', _r: '0x', _s: '0x' } ],
_feePayer: '0xe7e9184c125020af5d34eab7848bab799a1dcba9',
_feePayerSignatures: [
SignatureData { _v: '0x4e43', _r: '0xe48bf...', _s: '0x1cf36...' },
SignatureData { _v: '0x4e43', _r: '0x82976...', _s: '0x3c5e0...' }
],
_to: '0x3424b91026bdc5ec55df4548e6ebf0f28b60abd7',
_value: '0x1',
_chainId: '0x2710',
_gasPrice: '0x5d21dba00',
_nonce: '0x0'
}
// Sign a transaction with the address of RoleBasedKeyring which use two private keys for roleFeePayerKey, index and hasher
> transaction.signAsFeePayer(roleBasedKeyring, 1, customHasher).then(console.log)
FeeDelegatedValueTransfer {
_type: 'TxTypeFeeDelegatedValueTransfer',
_from: '0x6fddbcb99d31b8755c2b840a367f53eea4b4f45c',
_gas: '0x7530',
_signatures: [ SignatureData { _v: '0x01', _r: '0x', _s: '0x' } ],
_feePayer: '0xe7e9184c125020af5d34eab7848bab799a1dcba9',
_feePayerSignatures: [
SignatureData { _v: '0x4e43', _r: '0x82976...', _s: '0x3c5e0...' }
],
_to: '0x3424b91026bdc5ec55df4548e6ebf0f28b60abd7',
_value: '0x1',
_chainId: '0x2710',
_gasPrice: '0x5d21dba00',
_nonce: '0x0'
}

transaction.appendSignatures


transaction.appendSignatures(signatures)

為事務添加 "簽名"。

參數

名稱類型描述
signatures對象 | 數組附加到交易中的簽名。 SignatureData 實例或包含 SignatureData 實例的數組。 也可以將一個數組(其中每個 "v"、"r "和 "s "都按順序定義為字符串格式)或一個包含這些數組的二維數組作為參數。

示例


> transaction.appendSignatures([ '0x4e44', '0x7010e...', '0x65d6b...' ])

transaction.appendFeePayerSignatures


transaction.appendFeePayerSignatures( 簽名 )

將 "feePayerSignatures "添加到交易中。

注意* 該功能僅適用於 "收費委託 "交易或 "按比例收費委託 "交易。

參數:

名稱類型描述
feePayerSignatures對象 | 數組附加到交易中的付費者簽名。 SignatureData 實例或包含 SignatureData 實例的數組。 也可以將一個數組(其中每個 "v"、"r "和 "s "都按順序定義為字符串格式)或一個包含這些數組的二維數組作為參數。

示例


> transaction.appendFeePayerSignatures([ '0x4e44', '0x7010e...', '0x65d6b...' ])

transaction.combineSignedRawTransactions


transaction.combineSignedRawTransactions(rlpEncodedTxs)

在給定數組中收集每個 RLP 編碼事務字符串中的標誌,將它們與事務實例相結合,然後返回一個包含所有標誌的 RLP 編碼事務字符串。 請注意,事務實例並不一定要事先簽名。 如果交易屬於 "收費委託 "或 "按比例收費委託 "類型,"收費人簽名 "也會被合併幷包含在輸出的 RLP 編碼交易字符串中。

參數

名稱類型描述
rlpEncodedTxs數組經過簽名的 RLP 編碼事務字符串數組。

返回價值

類型描述
字符串RLP 編碼的交易字符串,包括所有 "簽名"(如果交易類型為 "收費委託 "或 "按比例收費委託",則包括 "收費人簽名")。

示例


> transaction.combineSignedRawTransactions(['0x09f88...'])
'0x09f885018505d21dba00830f4240947b65b75d204abed71587c9e519a89277766ee1d00a9404bb86a1b16113ebe8f57071f839b002cbcbf7d0f847f845820feaa068e56f3da7fbe7a86543eb4b244ddbcb13b2d1cb9adb3ee8a4c8b046821bc492a068c29c057055f68a7860b54184bba7967bcf42b6aae12beaf9f30933e6e730c280c4c3018080'

transaction.getRLPEncoding


transaction.getRLPEncoding()

返回 RLP 編碼的事務字符串。

有關如何為每種事務類型創建 RLP 編碼字符串的信息,請參閱 [Kaia Design - Transactions](.../../../../.../learn/transactions/transactions.md)。

返回價值

類型描述
stringRLP 編碼的事務字符串。

示例


> 交易。getRLPEncoding()
'0x09f885018505d21dba00830f4240947b65b75d204abed71587c9e519a89277766ee1d00a9404bb86a1b16113ebe8f57071f839b002cbcbf7d0f847f845820feaa068e56f3da7fbe7a86543eb4b244ddbcb13b2d1cb9adb3ee8a4c8b046821bc492a068c29c057055f68a7860b54184bba7967bcf42b6aae12beaf9f30933e6e730c280c4c3018080'

transaction.getRawTransaction


transaction.getRawTransaction()

返回 rawTransaction 字符串(RLP 編碼的事務字符串)。 此函數與 [transaction.getRLPEncoding](#transaction-getrlpencoding)相同。

返回價值

類型描述
stringRLP 編碼的事務字符串。

示例


> transaction.getRawTransaction()
'0x09f885018505d21dba00830f4240947b65b75d204abed71587c9e519a89277766ee1d00a9404bb86a1b16113ebe8f57071f839b002cbcbf7d0f847f845820feaa068e56f3da7fbe7a86543eb4b244ddbcb13b2d1cb9adb3ee8a4c8b046821bc492a068c29c057055f68a7860b54184bba7967bcf42b6aae12beaf9f30933e6e730c280c4c3018080'

transaction.getTransactionHash


transaction.getTransactionHash()

返回一個 transactionHash.

有關如何為每種事務類型創建事務哈希值的信息,請參閱 [Kaia Design - Transactions](.../.../.../.../.../learn/transactions/transactions.md)。

返回價值

類型描述
string交易哈希值。

示例


> transaction.getTransactionHash()
'0x8ac53afbba014201b02398545653683fe0536c49707fe302c59423012c0e8697'

transaction.getSenderTxHash


transaction.getSenderTxHash()

返回事務的 [senderTxHash](.../.../.../.../.../learn/transactions/transactions.md#sendertxhash)。

senderTxHash是除繳費人地址和簽名外的交易哈希值,因此transactionHashsenderTxHash對於基本交易是相同的。

有關如何為每種事務類型創建 senderTxHash 的信息,請參閱 Kaia Design - Transactions

返回價值

類型描述
stringA senderTxHash.

示例


> transaction.getSenderTxHash()
'0xb61cc1ddadb6f2ec34c9f9e6a7b6cf0a606422654d649d998587c77daa3c31fe'

transaction.getRLPEncodingForSignature


transaction.getRLPEncodingForSignature()

返回 RLP 編碼的事務字符串,用於製作事務發送方的簽名。 請注意,返回的 RLP 編碼事務字符串不會與簽名一起添加,而是用於生成此簽名。

關於如何製作 RLP 編碼的事務字符串,以便為每種事務類型生成事務發送者簽名,請參閱 [Kaia Design - Transactions](.../.../.../.../.../learn/transactions/transactions.md)。

返回價值

類型描述
string沒有附加任何簽名的 RLP 編碼交易字符串。

示例


> transaction.getRLPEncodingForSignature()
'0xf83fb838f709018505d21dba00830f4240947b65b75d204abed71587c9e519a89277766ee1d00a9404bb86a1b16113ebe8f57071f839b002cbcbf7d08207e38080'

transaction.getRLPEncodingForFeePayerSignature


transaction.getRLPEncodingForFeePayerSignature()

返回 RLP 編碼的交易字符串,用於繳費人簽名。 請注意,返回的 RLP 編碼事務字符串不會與簽名一起添加,而是用於生成此簽名。

關於如何製作 RLP 編碼的交易字符串以生成每種交易類型的繳費人簽名,請參閱 Kaia Design - Transactions.

注意* 該功能僅適用於 "收費委託 "交易或 "按比例收費委託 "交易。

返回價值

類型描述
string沒有附加任何簽名的 RLP 編碼交易字符串。

示例


> transaction.getRLPEncodingForFeePayerSignature()
'0xf840b838f709018505d21dba00830f4240947b65b75d204abed71587c9e519a89277766ee1d00a9404bb86a1b16113ebe8f57071f839b002cbcbf7d0808207e38080'

transaction.fillTransaction


transaction.fillTransaction()

填寫事務中的可選變量。

如果交易的 "gasPrice"、"nonce "或 "chainId "未定義,此方法會詢問這些可選變量的默認值,並通過向連接的 kaia 節點發送 JSON RPC 調用來預設它們。

Use caver.rpc.klay.getGasPrice to get gasPrice, caver.rpc.klay.getTransactionCount獲取nonce,調用caver.rpc.klay.getChainId獲取chainId

返回價值

Promise returning void

示例


> transaction.fillTransaction()

transaction.recoverPublicKeys


transaction.recoverPublicKeys()

從 "簽名 "字段中恢復公鑰字符串。

注意 transaction.recoverPublicKeys 自 caver-js v1.6.3 開始支持。

返回價值

類型描述
Array包含從 signatures 中恢復的公鑰的數組。

示例


> 交易。recoverPublicKeys()
[
'0x8bb6aaeb2d96d024754d3b50babf116cece68977acbe8ba6a66f14d5217c60d96af020a0568661e7c72e753e80efe084a3aed9f9ac87bf44d09ce67aad3d4e01',
'0xc7751c794337a93e4db041fb5401c2c816cf0a099d8fd4b1f3f555aab5dfead2417521bb0c03d8637f350df15ef6a6cb3cdb806bd9d10bc71982dd03ff5d9ddd',
'0x3919091ba17c106dd034af508cfe00b963d173dffab2c7702890e25a96d107ca1bb4f148ee1984751e57d2435468558193ce84ab9a7731b842e9672e40dc0f22'
]

transaction.recoverFeePayerPublicKeys


transaction.recoverFeePayerPublicKeys()

feePayerSignatures 字段中恢復公鑰字符串。

注意 transaction.recoverFeePayerPublicKeys 自 caver-js v1.6.3 開始支持。

返回價值

類型描述
Array數組,包含從 feePayerSignatures 中獲取的公鑰。

示例


> transaction.recoverFeePayerPublicKeys()
[
'0x2b557d80ddac3a0bbcc8a7861773ca7434c969e2721a574bb94a1e3aa5ceed3819f08a82b31682c038f9f691fb38ee4aaf7e016e2c973a1bd1e48a51f60a54ea',
'0x1a1cfe1e2ec4b15520c57c20c2460981a2f16003c8db11a0afc282abf929fa1c1868f60f91b330c423aa660913d86acc2a0b1b15e7ba1fe571e5928a19825a7e',
'0xdea23a89dbbde1a0c26466c49c1edd32785432389641797038c2b53815cb5c73d6cf5355986fd9a22a68bb57b831857fd1636362b383bd632966392714b60d72'
]

transaction.suggestGasPrice


transaction.suggestGasPrice()

返回建議Gas價格。 該函數用於設置 [fillTransaction](#transaction-fillTransaction)中的 gasPrice 字段。

在 Magma 硬分叉之前,"suggestGasPrice" 返回的是網絡單價。 Magma 硬分叉後,"suggestGasPrice "會返回 "baseFee * 2",建議將其用作 gasPrice。

注意 transaction.suggestGasPrice 自 caver-js v1.9.0 開始支持。

返回價值

Promise 返回 string:以十六進制字符串表示的建議Gas價格。

類型描述
string建議Gas費用。

舉例


> tx.suggestGasPrice().then(console.log)
0xba43b7400

讓這個頁面變得更好