Learn Ethereum: Accounts
Week 2 Assignment 1

One day I decided to solve a problem that was plaguing us at work. I wanted to make something to streamline our resources and make it easier for use to do our job. I figured that there had to be something online for us to use. I fell down a rabbit hole and I loved it. So much so that I ended up building the solution myself.
Welcome to week 2 of Ethereum! In this lesson, you'll embark on a journey to help you grasp the essential concepts of Ethereum accounts. From learning about Externally-owned Accounts (EOAs) and Contract Accounts to understanding the intricacies of public and private keys, you'll gain a solid foundation in how Ethereum manages identities and transactions. Get ready to dive into the fascinating mechanics of Ethereum.
Assignment:
Task 1:
If you haven’t already, register for this cohort by joining our Discord.
Check out how to earn points:
Task 2:
Prepare by familiarizing yourself with these key terms. I’ve broken them down into simple analogies to help you out! Be sure to take the quiz at the end when you are ready.
Key Terms
Externally-owned Account (non)
Definition: An EOA is a type of Ethereum account controlled by a private key.
Analogy: Think of an EOA like a personal wallet that only you have the keys to—access and control are in your hands alone.
Contract Account
Definition: A contract account is an Ethereum account managed by smart contract code rather than a private key.
Analogy: Imagine a vending machine that operates based on programmed logic—its actions depend on the code, not a user directly.
Public Key
Definition: A public key is derived from a private key and acts as an address or identifier for receiving transactions.
Analogy: A public key is like your home address—it tells people where to send letters but doesn’t give them access inside.
Private Key
Definition: A private key is a secret value that allows control over an account’s funds and permissions.
Analogy: The private key is like the PIN for your bank card—only with it can you withdraw money or perform other actions.
Nonce
Definition: A nonce is a counter that indicates the number of transactions sent from an account. It ensures that each transaction is unique.
Analogy: Think of it like a ticket number—each one must be different to ensure order and uniqueness.
Balance
Definition: The balance is the amount of wei owed by an account.
Analogy: An account’s balance is like the amount of cash in your wallet, showing how much you can spend.
codeHash
Definition: codeHash is a unique code of an Ethereum account. For EOA, it’s a hash of an empty string. For contracts, it’s the hash of the smart contract’s bytecode.
Analogy: It’s like a fingerprint for the contract code—each contract has its own distinct codeHash.
Merkle Patricia Trie
Definition: A data structure used to store and verify key-value pairs efficiently in Ethereum, providing a way to prove the existence or non-existence of data.
Analogy: Imagine a library index that can quickly tell you if a book exists or not, even if the library is massive.
storageRoot
Definition: The storageRoot is a hash of the Merkle Patricia trie root that encodes storage contents of an contract account.
Analogy: It’s like a table of contents for a book, showing you where to find all the storage data for a contract.
Keccak-256
Definition: Keccak-256 is a cryptographic hashing function used to create fixed-size hashes from input data.
Analogy: Think of it as a shredder that turns any document into a unique pile of confetti—no two piles are ever the same.
RLP-Encoded
Definition: Recursive Length Prefix (RLP) encoding is a method used to serialize nested arrays of binary data in Ethereum.
Analogy: It’s like using a series of boxes within boxes to package your items neatly, making it easy to transport.
Elliptic Curve Digital Signature Algorithm (ECDSA)
Definition: ECDSA is an algorithm used to sign transactions (proving that the transaction was made by the owner of a specific private key) and creating public keys from private keys.
Analogy: It’s like signing a check with your unique signature—only the person with your signature can authorize payments.
Geth
Definition: Geth (Go-Ethereum) is a command-line interface and node implementation for running Ethereum clients and interacting with the blockchain.
Analogy: Geth is like a toolkit that developers use to interact with Ethereum’s world—everything from running a node to deploying contracts.
Wallet
Definition: A wallet is an application or device used to manage private keys and sign transactions, allowing access to an Ethereum account.
Analogy: A wallet is like a keychain that holds all the keys to your bank vaults—giving you access without revealing the keys themselves.
Task 3:
Read the official "Ethereum Accounts" section here.
After reading, you can take this comprehension quiz to test your understanding.
Task 4:
Now, it’s time to talk about what we’ve learned. You can join the discussion here.






