Docs
  • ClishaChain
  • Quick Start
    • Whats is ClishaChain
    • Install
    • Start Node
    • How To
    • Genesis File
  • Consensus
    • Proof of Authority (PoA)
    • QBFT
    • Validators
    • Bootnodes
  • Transactions
    • Transaction pool
    • Transaction types
    • Transaction Validation
  • Operate a node
    • Data storage formats
    • Events and logs
    • Backup/restore node instance
    • Add and remove validators without voting
  • JSON RPC Commands
    • Access Logs
    • Authenticate
    • Graphql
    • JSON RPC
    • RPC Pub/Sub
Powered by GitBook
On this page
  • FRONTIER transactions
  • ACCESS_LIST transactions
  • EIP1559 transactions
  1. Transactions

Transaction types

Description of the different transaction types

PreviousTransaction poolNextTransaction Validation

Last updated 10 months ago

You can interact with the ClishaChain 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

Transactions with type FRONTIER are legacy transactions that use the transaction format existing before typed transactions were introduced in . They contain the parameters chainId, nonce, gasPrice, gasLimit, to, value, data, v, r, and s. Legacy transactions don't use or incorporate .

ACCESS_LIST transactions

Transactions with type ACCESS_LIST are transactions introduced in . They contain, along with the , 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 .

EIP1559 transactions

Transactions with type EIP1559 are transactions introduced in . 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 parameter and 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.

Pending transaction object
Transaction object
Transaction call object
Transaction receipt object
EIP-2718
EIP-2930
EIP-1559
access lists
EIP-1559 fee market changes
legacy parameters
EIP-1559 fee market changes
accessList
legacy parameters