🔮
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
  • Characteristics
  • Visual Representation
  1. General
  2. What is Ethereum

Externally Owned Account (EOA)

EOA stands for "Externally Owned Account", which is a type of Ethereum account that is controlled by a private key and is not associated with a smart contract. An EOA is created by an individual user and is used to hold and manage Ethereum funds, as well as interact with smart contracts and other decentralized applications on the Ethereum network.

EOAs are distinct from contract accounts, which are associated with smart contracts and are controlled by the code of the smart contract. Contract accounts are created by deploying a smart contract to the Ethereum network, while EOAs are created by generating a private key and deriving an Ethereum address from it.

EOAs can be used to send and receive Ethereum tokens and to interact with smart contracts by sending transaction requests to the Ethereum network. EOAs are the primary means by which individuals interact with the Ethereum network, and they are essential for sending and receiving funds, participating in initial coin offerings (ICOs), and using decentralized applications built on Ethereum.

EOAs can be accessed and managed through various Ethereum wallets and software applications, which provide a user-friendly interface for interacting with the Ethereum network. These wallets and applications allow users to view their Ethereum balances, send and receive transactions, and interact with smart contracts without requiring extensive technical knowledge.

Characteristics

Here are some characteristics of Ethereum Externally Owned Accounts (EOAs):

  1. Controlled by Private Keys: EOAs are controlled by private keys, which are used to sign transactions and prove ownership of the account. Private keys are stored securely by the user and are not stored on the Ethereum network.

  2. Used for Interacting with Smart Contracts: EOAs are used to interact with smart contracts and other decentralized applications on the Ethereum network. They can send transactions to smart contracts, which execute the associated code and update the state of the blockchain.

  3. Can Hold Ethereum Tokens: EOAs can hold Ethereum tokens, including Ether (ETH) and other ERC-20 tokens. Tokens are stored in the account's balance, which is publicly visible on the Ethereum network.

  4. Can Receive Transactions from Contract Accounts: EOAs can receive transactions from contract accounts, which can trigger the execution of smart contract code or update the state of the blockchain.

  5. No Associated Code: EOAs do not have associated code like smart contracts, as they are not associated with a contract on the blockchain. They are simply accounts that hold and manage Ethereum funds.

  6. Essential for Using Ethereum: EOAs are essential for using Ethereum, as they provide a means for individuals to interact with the blockchain network. Without EOAs, it would not be possible to send or receive Ethereum tokens or interact with smart contracts on the Ethereum network.

  7. Can Be Accessed and Managed through Wallets: EOAs can be accessed and managed through various Ethereum wallets and software applications, which provide a user-friendly interface for interacting with the Ethereum network. These wallets and applications allow users to view their Ethereum balances, send and receive transactions, and interact with smart contracts without requiring extensive technical knowledge.

Visual Representation

                          +----------------+
                          |                |
                          | Ethereum       |
                          | Blockchain     |
                          |                |
                          +--------^-------+
                                   |
                                   |
                      +------------+------------+
                      |                         |
                      |     Externally Owned    |
                      |         Account         |
                      |                         |
                      +------------^------------+
                                   |
                                   |
                       +-----------+-----------+
                       |                       |
                       |       Private Key     |
                       |                       |
                       +-----------^-----------+
                                   |
                                   |
                  +----------------+--------------+
                  |                               |
                  |      Ethereum Transactions    |
                  |                               |
                  +-------------------------------+

In this diagram, the EOA is represented as a simple Ethereum account that is controlled by a private key. The Ethereum blockchain is represented as a decentralized network that enables transactions between different Ethereum accounts. Transactions sent from the EOA are validated and added to the blockchain by Ethereum miners, and the associated balance is updated accordingly. The private key is used to sign transactions sent from the EOA, and is used to prove ownership of the account. The EOA is used to interact with smart contracts, send and receive Ethereum tokens, and perform other actions on the Ethereum network.

PreviousAccount-based model & UTXO-based modelNextNode Clients

Last updated 2 years ago