🔮
Ethereum
  • General
    • What is Ethereum
      • Ethereum & Bitcoin General Comparison
      • Singleton State
      • The Ethereum Virtual Machine (EVM)
      • Opcodes (operation codes) EVM
      • Ethereum Client
      • Forks
      • Gas (wei)
        • EIP-1559
        • Table Conversion (wei)
      • Proof of Stake (PoS)
      • Proof of Authority (PoA)
      • The Beacon Chain
      • Networks
        • Ethereum mainnet
        • Goerli
      • Account-based model & UTXO-based model
      • Externally Owned Account (EOA)
      • Node Clients
        • Geth
        • Nethermind
      • Contract Account
      • Smart Contract Upgradeability
      • Ultrasound Money
      • Merkle Trees
        • Patricia Merkle Tree
      • Tries
        • State Trie
        • Storage Trie
        • Transactions Trie
        • Receipts Trie
      • Transactions
        • Ethereum Transaction Architecture
      • World State
        • Chain of States
        • Chain of Blocks
        • Stack of Transactions / Mempool
      • Contract Creation
      • Message Call Transaction
      • P2P Network
      • Web3.js
      • Ether.js
        • Smart Contract Interaction Example
      • Web3.js vs Ether.js
      • Node Providers
      • ENS (Ethereum Name Service)
      • Web3 dapp
      • Escrow
      • Multi-signature
      • ERC-20 tokens
        • Send ERC20s to Contracts
      • NFTs
        • ERC-721 and ERC-1155
      • Solidity
        • State Variables
        • Data Location
        • Numbers
        • Modifiers
        • View & Pure Modifiers
        • Data Types
          • Modifiers
          • Modifiers (Functions)
          • Address & Address Payable
        • Hardhat
        • Payable Functions
        • Receive Function
        • Fallback Function
        • Global Variables
        • Self Destruct
        • Create2 Function
        • Revert function
        • Require function
        • Assert Function
        • Calldata
        • Interface
        • Mapping
        • Array
        • Struct
        • Inheritance
          • Virtual & Overwrite
          • Multiple inheritance
          • Hierarchical Inheritance
        • Events
          • Indexed (keyword)
          • LOG0 - LOG4
        • Multi-signature Example
        • Smart Contracts
          • Context
      • Application Binary Interface (ABI )
  • Extras
    • Terminology
      • Bytecode
      • Keccak-256
      • Turing complete
Powered by GitBook
On this page
  1. General
  2. What is Ethereum
  3. Transactions

Ethereum Transaction Architecture

Ethereum transaction architecture involves several components that work together to enable the execution of transactions on the Ethereum blockchain. The architecture includes the following components:

  • Nonce: This is an index that gets incremented every time a transaction from an account gets mined.

  • Recipient: This is the receiving address. If it is an externally-owned account, the transaction will transfer value. If it is a contract account, the transaction will execute the contract code.

  • Value: This is the amount of Ether (ETH) to transfer from the sender to the recipient, measured in wei (a denomination of ETH).

  • yParity, r, s (aka digital signature): These are the components of the digital signature that proves the sender's authorization for the transaction.

  • Init or data: This is typically referred to as "calldata". If it is 0, the transaction is just a typical ETH transfer. If it is not 0, it contains data to be used by the recipient contract.

  • Gas limit: This is the maximum amount of gas units that can be consumed by the transaction.

  • Type: This field indicates the type of transaction. Type 0 is for legacy (pre-EIP-1559) transactions, while type 2 is for EIP-1559-compatible transactions.

  • MaxPriorityFeePerGas (aka minerTip): This is the maximum amount of gas to be included as a tip to the validator.

  • MaxFeePerGas: This is the maximum amount of gas willing to be paid for the transaction, inclusive of baseFeePerGas and maxPriorityFeePerGas.

  • Chain ID: In order to protect against replay attacks on other EVM chains, each transaction must now include a specific ID per chain. Mainnet is 1, and other chains have their own specific IDs.

 ____________________________________________
|          Ethereum Transaction               |
|____________________________________________|
|                                            |
|  _______________          _______________ |
| |     Header    |        |  Message or   ||
| |______________|        |     Call      |||
| | Nonce         |        | Data          |||
| | Gas Price     |        | Gas Limit     |||
| | Gas Limit     |        | Recipient     |||
| | Value         |        | Signature     |||
| | Signature     |        |______________|||
| |______________|                        ||
|                                            |
|                                            |
|  ________________                          |
| | Transaction    |                         |
| | Receipt        |                         |
| |________________|                        |
|                                            |
|____________________________________________|

The transaction is composed of a header and a message or call. The header includes information such as the nonce, gas price, gas limit, value, and signature. The message or call includes data, gas limit, recipient, and signature.

Once the transaction is submitted to the network, it is included in a block and a transaction receipt is generated. The transaction receipt includes information such as the status of the transaction and the gas used.

PreviousTransactionsNextWorld State

Last updated 2 years ago