blockchain.lucas.zip

Glossary

Every term the module uses, in one place, in one or two sentences each. · Updated 26 August 2026

Each seminar day 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.

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 0x and forty hex characters. Derived from a public key for an EOA; from the deployer and nonce for a contract. 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.

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.

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.

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 errorerror NotOwner(address); — a typed, cheap revert reason that clients can decode. Day 2.

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.

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.

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.

Gas — The unit of computation. Every operation costs a fixed amount; a transaction pays for what it uses at a market price. Day 1.

Hardhat — The TypeScript development environment: compiler, local node, tests, deployment. Day 1.

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.

Keystore — Hardhat’s encrypted store for secrets such as private keys and RPC URLs, read through configVariable. Day 2.

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.

Mapping — A hash table in storage with no length and no iteration. Day 1.

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.

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.

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.

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.

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.

Sandwich — Buying before a victim’s swap and selling after it, in the same block. Day 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.

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.

Upgradeability — Making a contract’s rules changeable after deployment. Always a trust decision. Day 3.

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.

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.

Zero-knowledge proof — A proof that a statement is true which reveals nothing else. Used for scaling and for privacy. Day 4.