60

Cointelegraph has recently written about 'EOA' in relation with contracts and accounts.

As an EOA, the state simply stores the account's balance in ether and a sequence number is used to prevent transaction replay attacks. On the other hand, it stores the contract's code and its storage in a key-value database.

What is an 'EOA'?

q9f
  • 32,913
  • 47
  • 156
  • 395

5 Answers5

54

This is an Externally Owned Account, so your normal Ethereum address, not a wallet contract.

In general, there are two types of accounts: externally owned accounts, controlled by private keys, and contract accounts, controlled by their contract code.

https://ethereum.org/en/whitepaper/#ethereum-accounts

clement
  • 4,302
  • 2
  • 17
  • 35
Roland Kofler
  • 11,638
  • 3
  • 44
  • 83
13

Ethereum accounts are generally of two types-

Externally Owned Accounts

  • Managed by Human
  • Account creation incurs no cost
  • Can transfer Ether (ETH) to other accounts, but cannot create smart contracts
  • Can send messages (i.e. send transactions) to smart contracts

Contract Accounts

  • Managed by Code (e.g. Solidity)
  • Account creation might incur cost
  • Can do both- transfer Ether as well as create Smart Contract accounts

Reference: Understanding Ethereum Accounts

Paul Razvan Berg
  • 17,902
  • 6
  • 73
  • 143
Srajan Gupta
  • 131
  • 1
  • 4
11

It is an Externally Owned Account controlled by a public/private key pair. There are also contract addresses, which are controlled by the code written inside the contract.

Paul Razvan Berg
  • 17,902
  • 6
  • 73
  • 143
yoregis
  • 1,242
  • 11
  • 13
6

I just published both technical and non-technical introductions to Ethereum accounts this week.

An Ethereum account is a private-public keypair that can be mapped to an address on the blockchain.

  1. If the private key is known and controlled by someone, it's an "owned" or "externally owned" account.
  2. Otherwise, if the private key is not known, and only an address exists, we are talking about smart-contract accounts.

Here is the full explanation with some code examples:

q9f
  • 32,913
  • 47
  • 156
  • 395
3
  • EOAs and Contract accounts are indistinguishable by looking at their addresses.
  • Contract accounts are the only type of account with associated bytecode.
  • Private keys are generated only for EOAs while CAs are controlled by the contract.
Etienne
  • 301
  • 2
  • 6