Track 8 · Capstones · lesson 2

A token with a frontend

60 min


Your token, deployed, with a UI to mint and transfer it. This joins the two halves you already have: the ERC-20 from track 5 and the frontend from track 6.

Scaffolding tier: full. Starter repo and file-by-file TODOs again — but this one has a contract, a deployment, and a UI that reads and writes it. The last capstone with this much help.

The build

Starter layout

my-token/
├── contracts/
│   ├── src/Token.sol         // TODO: OZ ERC20 + ERC20Capped + Ownable
│   ├── test/Token.t.sol      // TODO: tests (cap, mint auth, transfer)
│   └── script/Deploy.s.sol   // TODO: deploy script
└── web/
    ├── src/Balance.tsx       // TODO: read + display balance
    ├── src/MintForm.tsx      // TODO: owner-only mint
    └── src/TransferForm.tsx  // TODO: transfer

Acceptance criteria

Check

The UI should refresh the balance at which moment?

Choose one answer

Worth remembering

  • Capstone 2, full scaffolding: starter repo and TODOs across contract, tests, deploy and UI.
  • A capped, owner-mintable ERC-20 with a read/write frontend.
  • Tests must cover the cap and mint authorisation; deploy verified on Sepolia.
  • Refresh balances on the receipt, and gate mint to the owner.