Transaction types
Description of the different transaction types
You can interact with the KalyChain JSON-RPC API using different transaction types (specified by the transactionType
parameter).
The following API objects use a unique format for each transactionType
:
FRONTIER
transactions
FRONTIER
transactionsTransactions with type FRONTIER
are legacy transactions that use the transaction format existing before typed transactions were introduced in EIP-2718. They contain the parameters chainId
, nonce
, gasPrice
, gasLimit
, to
, value
, data
, v
, r
, and s
. Legacy transactions don't use access lists or incorporate EIP-1559 fee market changes.
ACCESS_LIST
transactions
ACCESS_LIST
transactionsTransactions with type ACCESS_LIST
are transactions introduced in EIP-2930. They contain, along with the legacy parameters, an accessList
parameter, which specifies an array of addresses and storage keys that the transaction plans to access (an access list). ACCESS_LIST
transactions must specify an access list, and they don't incorporate EIP-1559 fee market changes.
EIP1559
transactions
EIP1559
transactionsTransactions with type EIP1559
are transactions introduced in EIP-1559. EIP-1559 addresses the network congestion and overpricing of transaction fees caused by the historical fee market, in which users send transactions specifying a gas price bid using the gasPrice
parameter, and miners choose transactions with the highest bids.
EIP1559
transactions don't specify gasPrice
, and instead use an in-protocol, dynamically changing base fee per gas. At each block, the base fee per gas is adjusted to address network congestion as measured by a gas target.
EIP1559
transactions contain, along with the accessList
parameter and legacy parameters except for gasPrice
, a maxPriorityFeePerGas
parameter, which specifies the maximum fee the sender is willing to pay per gas above the base fee (the maximum priority fee per gas), and a maxFeePerGas
parameter, which specifies the maximum total fee (base fee + priority fee) the sender is willing to pay per gas.
An EIP1559
transaction always pays the base fee of the block it's included in, and it pays a priority fee as priced by maxPriorityFeePerGas
or, if the base fee per gas + maxPriorityFeePerGas
exceeds maxFeePerGas
, it pays a priority fee as priced by maxFeePerGas
minus the base fee per gas. The base fee is burned, and the priority fee is paid to the miner that included the transaction. A transaction's priority fee per gas incentivizes miners to include the transaction over other transactions with lower priority fees per gas.
EIP1559
transactions must specify both maxPriorityFeePerGas
and maxFeePerGas
. They must not specify gasPrice
.
Last updated