Each session ends with its vocabulary; this page is the union, alphabetical, with the short definition you would give a colleague. Where a term has a longer treatment, the day is given.
A
- ABI
- The JSON description of a contract’s functions and events. Libraries use it to encode calls and decode results. Produced by the compiler. Day 2.
- Account abstraction
- Letting an account be a contract rather than a key pair, so that it can have rules: passkeys, spending limits, sponsored gas, recovery. ERC-4337 and EIP-7702. Days 3 and 4.
- Address
- Twenty bytes identifying an account, written as
0xand forty hex characters. Derived from a public key for an EOA; from the deployer and nonce for a contract, or from the deployer, a salt and the code for one deployed withCREATE2, which is how a contract can have a known address before it exists. Day 1.
- AMM (automated market maker)
- An exchange without an order book: a
pool of two assets priced by a formula, most simply
x × y = k. Day 3.
- Approve / allowance
- An ERC-20 holder authorising a contract to spend
up to an amount on its behalf; the contract then calls
transferFrom. The two-step behind every token interaction. Day 3.
- Arbitrage
- Trading a price difference between two venues until it closes. What keeps an AMM’s price tracking the outside world. Day 3.
- Audit
- A paid security review of a contract by specialists. Evidence of care, not a guarantee. Day 3.
B
- Base
- An optimistic rollup on the OP Stack, built by Coinbase. The module deploys to its testnet, Base Sepolia. Day 1.
- Base fee
- The part of the gas price set by the protocol from block fullness, and burned. Day 1.
- Block
- A batch of transactions plus a pointer to the previous block’s hash. Day 1.
- Bridge
- A contract that lets an asset move between chains by locking it on one and issuing it on the other. The most exploited category of contract. Day 3.
- Bundler / paymaster
- In account abstraction, the service that submits user operations, and the contract that can pay their gas. Day 4.
C
calldata/memory/storage- Where a reference value lives: read-only call input; scratch space for one call; the contract’s persistent state. Day 2.
- Checks-effects-interactions
- Validate, then change state, then call out. The discipline that prevents reentrancy. Day 2.
- Checksum address (EIP-55)
- The mixed-case spelling of an address, in
which the capitalisation encodes a checksum. Libraries disagree about when
to apply it, so a checksummed and a lowercase address can be the same
account and different strings. Normalise with
getAddressbefore comparing. Day 1.
- CID
- A content identifier on IPFS: the hash of the content, which is also its address. Day 3.
- Commit-reveal
- Submitting a hash of a value now and the value later, so that nobody can react to it before it is fixed. Day 3.
- Composability
- Contracts calling contracts without permission, so that protocols are built from other protocols. Days 1 and 3.
- Consensus
- How the network agrees on the next block. Proof of Work, then Proof of Stake. Day 1.
- Custom error
error NotOwner(address);, a typed, cheap revert reason that clients can decode. Day 2.
D
- Decentralisation test
- Replace the chain with a database and a trusted administrator: what breaks? Project.
delegatecall- Running another contract’s code in the caller’s storage. How proxies work; a complete takeover if misused. Day 3.
E
- EIP / ERC
- An Ethereum Improvement Proposal; an ERC is one that defines an application-level standard, such as ERC-20. Day 3.
- EIP-712
- Typed structured data for signatures, so that a signed message is bound to a contract, a chain, and a schema. Day 3.
- EOA (externally owned account)
- An account that is a key pair. What a wallet holds. Day 1.
- ERC-20 / ERC-721 / ERC-1155
- Fungible tokens; non-fungible tokens; both in one contract. Day 3.
- Event
- A log a contract emits, readable by clients and indexers, not by contracts. The read interface of a contract. Day 1.
- EVM
- The Ethereum Virtual Machine: the deterministic execution environment every node runs contracts in. Day 1.
F
- Finality
- The point past which a block will not be undone. Roughly fifteen minutes on Ethereum; seconds of soft confirmation on a rollup. Day 1.
- Flash loan
- Borrowing any amount with no collateral, on condition that it is repaid in the same transaction. The tool behind oracle manipulation. Day 3.
- Fork test
- A test run against a copy of a real network’s state at a block. Day 4.
- Foundry
- The Rust toolchain with tests in Solidity; where fuzzing and invariants are most accessible. Day 4.
- Front-running
- Seeing a pending transaction and getting one included ahead of it. Day 3.
- Fuzzing
- Running a test with many random inputs to find the one that breaks it. Day 4.
G
- Gas
- The unit of computation. Each operation has a price, sometimes flat, sometimes depending on what it touches: writing a storage slot that was empty costs far more than overwriting one that was not, and the first access to a slot or an address costs more than the next. A transaction pays for what it uses at a market price; on a rollup, plus a fee for publishing its bytes to Ethereum. Days 1 and 4.
H
- Hardhat
- The TypeScript development environment: compiler, local node, tests, deployment. Day 1.
I
- Ignition
- Hardhat’s deployment system: declare what to deploy, and it records what it deployed per network. Day 1.
immutable/constant- Values fixed at deployment or at compile time, read for free. Day 2.
- Indexer
- A service that reads events into a database so that history and search can be queried. The Graph, Ponder, or your own. Day 3.
- Invariant
- A property that must hold after any sequence of calls; tested by generating random sequences. Day 4.
- IPFS
- Content-addressed storage: files identified by their hash, hosted by whoever pins them. Where large content goes, with the hash on chain. Day 3.
K
- Keystore
- Hardhat’s encrypted store for secrets such as private keys
and RPC URLs, read through
configVariable. Day 2.
L
- Layer 1 / Layer 2
- Ethereum itself; the networks that execute on top of it and post results back for security. Day 1.
- Lending protocol
- A pool where depositors supply and borrowers borrow against overcollateralised positions, with liquidation when collateral falls. Day 3.
- Liquidation
- Repaying an undercollateralised loan and taking the collateral at a discount. Open to anyone. Day 3.
M
- Mapping
- A hash table in storage with no length and no iteration. Day 1.
- Mempool
- Where an Ethereum L1 node keeps the transactions it has heard of and not yet seen included, visible to anyone who asks. Base has none that is public: transactions go straight to the sequencer. Day 3.
- MEV
- Value extracted by ordering transactions: sandwiches, front-running, back-running. A design constraint. Day 3.
msg.sender/msg.value- The address calling the function; the ETH sent with the call. Days 1 and 2.
N
- Nonce
- A per-account counter that orders transactions and prevents replay. Day 1.
- Node
- A machine holding the chain’s state and executing its transactions, reachable over JSON-RPC. Day 1.
O
- OpenZeppelin
- The standard library of audited contracts: tokens, access control, guards, proxies. Day 2.
- Optimistic rollup / ZK rollup
- A Layer 2 that assumes correctness and allows disputes for a week; one that posts a proof of correctness. Day 3.
- Oracle
- A service that brings outside data on chain. A trusted party by definition. Day 3.
- Oracle problem
- The chain guarantees what was recorded, not that it was true. Project.
P
payable/receive- A function that may receive ETH; the function that receives plain transfers. Day 2.
- Permit (ERC-2612)
- An ERC-20 approval given by signature rather than by transaction. Day 3.
- Proxy
- A contract that forwards calls to an implementation that can be swapped. How upgradeability is done, and a trust decision. Day 3.
- Pull payment
- Recording what is owed and letting the recipient withdraw, rather than sending. Day 2.
R
- Read after write
- A confirmed receipt says the chain accepted your transaction, not that the node answering your next request has caught up. RPC providers load-balance across nodes, so a read that follows a write can lag it by a block or two. Retry such reads. Day 2.
- Reentrancy
- An external call handing control to a contract that calls back before the caller’s state is updated. The DAO, 2016. Day 2.
- Revert
- Aborting a transaction and undoing everything it did, with a reason. Day 2.
- Roles and trust table
- For every role in a system: what it can do, and what happens if it is malicious or absent. Project.
- RPC provider
- A company running nodes and selling access to them over JSON-RPC. Alchemy, Infura, QuickNode. Prerequisites.
S
- Sandwich
- Buying before a victim’s swap and selling after it, in the same block. Day 3.
- Sequencer
- The single operator that receives a rollup’s transactions, orders them, and publishes batches to Ethereum. On Base it is run by Coinbase; it can delay or decline your transaction, and the escape hatch is a slow forced inclusion through the L1 bridge. Days 1 and 3.
- Signature
- Proof, from a private key, that its holder authorised a message. Recoverable to an address. Day 1.
- Slippage
- The difference between the price expected and the price received, from a trade moving the pool. Day 3.
- Slither
- A static analyser for Solidity. Day 3.
- Smart account
- A contract acting as a user’s account. Day 4.
- Solidity
- The language. Version 0.8 throughout. Day 1.
- Soulbound
- A non-transferable token. For credentials and memberships. Day 3.
- Stablecoin
- A token meant to hold one dollar: fiat-backed, crypto-backed, or algorithmic. Day 3.
- State
- Everything the chain remembers: every account’s balance, code, and storage. Day 1.
T
- Testnet
- A network with the same software and worthless tokens, for development. Base Sepolia here. Day 1.
- Timelock
- A delay between a decision and its execution, so that those affected can react. Day 3.
- Tip
- The part of the gas price paid to the validator for priority. Day 1.
- Transaction
- A signed instruction from an account: a recipient, a value, data, a nonce, gas. The only thing that changes state. Day 1.
U
- Upgradeability
- Making a contract’s rules changeable after deployment. Always a trust decision. Day 3.
V
- Verification
- Publishing a contract’s source to an explorer, which checks it matches the deployed bytecode. Day 2.
- viem / wagmi
- The TypeScript client library; the React hooks on top. Day 2.
W
- Wallet
- Software that holds keys and signs on the user’s behalf. MetaMask here. Day 1.
- Wei
- The smallest unit of ETH; 10^18 wei to one ETH. Day 1.
Z
- Zero-knowledge proof
- A proof that a statement is true which reveals nothing else. Used for scaling and for privacy. Day 4.