blockchain.lucas.zip

The project

Groups of three, one decentralised application, six weeks. · Updated 6 September 2026

Build and deploy a decentralised application that actually needs the chain: at least one feature that stops working, or stops being trustworthy, if you replace the blockchain with a database and an administrator. Three subjects are proposed below; you may also propose your own.

The project runs from the end of Day 2 to the code freeze, about six weeks later. It is defended live, on the public testnet, in the final defence, after a mandatory intermediate defence about three weeks in. Dates are on the intranet; the schedule has the sequence.

Timeline

WhenWhat
End of Day 2Briefing, subjects, groups start forming
Within a weekGroup and subject declared on Teams
About two weeks inDay 3: ecosystem and security, feed it back into your design
About three weeks inIntermediate defence, 30 minutes
The week afterDay 4: architecture, testing, feedback from the intermediate defences
About six weeks inCode freeze, end of the day
The next day, and the following defence dayFinal defence, 1 hour

The six weeks, and the events that matter.

The six weeks, and the events that matter.

Six weeks, alongside other modules and, for some of you, a job. Plan for that. A project that reaches the intermediate defence with a deployed contract, a test suite, and a frontend that does one thing is in a far better place than one that reaches it with a beautiful design document.

What every project must include

Whichever subject you pick, these are the parts of a complete delivery.

  1. At least one smart contract deployed on Base Sepolia, verified on Basescan, with logic that does something, state that changes according to rules, with more than one actor involved. A contract that stores a value and returns it is not a project.

  2. The decentralised feature, identified by name, and its justification written in the README in the form the decentralisation test asks for: what a centralised version could do that yours cannot, and why that matters to the people using it.

  3. A frontend that lets a user connect a wallet, see the relevant state, perform the application’s actions as transactions, and see the result, including when it fails. Any framework; wagmi and viem are what the sessions teach.

  4. Tests for the contracts, covering the behaviour that matters: the happy path, every rule that can reject a transaction, and every role boundary. A test suite that only checks the constructor is not a test suite.

  5. A roles and trust table: every role in the system (the deployer, an admin if there is one, each kind of user, any arbiter or oracle), what each one can do, and what happens to everyone else if that role acts maliciously or disappears. This is the most important page of your README and the first thing the jury reads.

  6. A reproducible deployment: a script that deploys the contracts to a named network from configuration, the deployed addresses recorded in the repository, and no secrets in git.

  7. A README that lets a stranger clone the repository, run the tests, run the frontend against your testnet deployment, and understand the architecture in ten minutes: what is on chain, what is off chain, and why.

Going further

The list above is the shape of a complete project. Depth comes from what you build on it, and there are many directions; pick the ones that fit your subject and your group’s interests rather than trying to touch all of them.

What will not work

Subjects

Three subjects, on three different themes, described on their own pages:

Each subject page lists the actors, the core features that make it that subject, suggested extensions, the traps, and what the demo at the defence should show.

Proposing your own

A group may propose a subject of its own. Write it up on Teams within a week of Day 2: a paragraph on what it does, the roles and trust table in draft, and the decentralisation test applied to it. You get an answer within the week, accepted, accepted with changes, or sent back with the reason. The bar is the same as for the three subjects: the application has to need the chain, and the scope has to fit six weeks alongside your other work.

Delivery

At the code freeze, the repository must contain:

Anything pushed after the freeze is not part of the defence. A group that discovers a bug afterwards fixes it on a branch and says so at the defence, which is a perfectly good answer.

A plan that fits six weeks

The schedule below is what a group that finishes comfortably looks like. It is a suggestion, not a requirement, but a group that is a week behind it at the intermediate defence will be told so.

WeekWhat exists at the end of it
1Group and subject declared. The roles table drafted. A contract with the core state machine stubbed, deployed on Base Sepolia, verified. A page that reads it
2The core features implemented and tested on the happy path. Day 3’s catalogue of failures walked through against the contract
3Failure paths tested. The frontend performs every action. README with the justification. Ready for the intermediate defence
4Changes from the intermediate defence applied. Day 4’s engineering items, CI, reproducible deployment, done. One “going further” axis started
5The axis finished. The attack test written. Each member has walked the other two through their part
6DEMO.md written and rehearsed twice on the testnet. Freeze

The weeks are not equal. Week 1 is the hardest to start and the most valuable to finish; week 6 should contain no new code.

Working as three

Some advice, from watching groups do this.