跳至主要內容
本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 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 編碼的事務字符串。

For information on how to make the RLP-encoded string for each transaction type, see Kaia Design - Transactions.

返回價值

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

示例


> 交易。getRLPEncoding()
'0x09f885018505d21dba00830f4240947b65b75d204abed71587c9e519a89277766ee1d00a9404bb86a1b16113ebe8f57071f839b002cbcbf7d0f847f845820feaa068e56f3da7fbe7a86543eb4b244ddbcb13b2d1cb9adb3ee8a4c8b046821bc492a068c29c057055f68a7860b54184bba7967bcf42b6aae12beaf9f30933e6e730c280c4c3018080'

transaction.getRawTransaction


transaction.getRawTransaction()

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

返回價值

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

示例


> transaction.getRawTransaction()
'0x09f885018505d21dba00830f4240947b65b75d204abed71587c9e519a89277766ee1d00a9404bb86a1b16113ebe8f57071f839b002cbcbf7d0f847f845820feaa068e56f3da7fbe7a86543eb4b244ddbcb13b2d1cb9adb3ee8a4c8b046821bc492a068c29c057055f68a7860b54184bba7967bcf42b6aae12beaf9f30933e6e730c280c4c3018080'

transaction.getTransactionHash


transaction.getTransactionHash()

返回一個 transactionHash.

For information on how to make the transaction hash for each transaction type, see Kaia Design - Transactions.

返回價值

類型描述
string交易哈希值。

示例


> transaction.getTransactionHash()
'0x8ac53afbba014201b02398545653683fe0536c49707fe302c59423012c0e8697'

transaction.getSenderTxHash


transaction.getSenderTxHash()

Returns a senderTxHash of transaction.

The senderTxHash is a hash of the transaction except for the fee payer's address and signature, so transactionHash and senderTxHash are the same for basic transactions.

For information on how to make the senderTxHash for each transaction type, see Kaia Design - Transactions.

返回價值

類型描述
stringA senderTxHash.

示例


> transaction.getSenderTxHash()
'0xb61cc1ddadb6f2ec34c9f9e6a7b6cf0a606422654d649d998587c77daa3c31fe'

transaction.getRLPEncodingForSignature


transaction.getRLPEncodingForSignature()

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

For information on how to make a RLP-encoded transaction string to generate the transaction sender's signature for each transaction type, see Kaia Design - Transactions.

返回價值

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

示例


> transaction.getRLPEncodingForSignature()
'0xf83fb838f709018505d21dba00830f4240947b65b75d204abed71587c9e519a89277766ee1d00a9404bb86a1b16113ebe8f57071f839b002cbcbf7d08207e38080'

transaction.getRLPEncodingForFeePayerSignature


transaction.getRLPEncodingForFeePayerSignature()

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

For information on how to make a RLP-encoded transaction string to generate the fee payer's signature for each transaction type, see 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

讓這個頁面變得更好