Blockchain and Trust Infrastructure Engineer · Projects
Capstone: SakhiKosh, a shared fund the group can trust
Marking guide version 1 · Lessons: BC1 lessons 1–5, BC4 lessons 1–5, BC6 lessons 1–5, BC10 lessons 1 and 5
The problem and who it's for
The savings group wants to hand SakhiKosh to a new developer and to explain it to a neighbouring group thinking of copying it. They need to see that the fund, the vault and the app work together, how to set up and run every check, and an honest view of the bigger questions: whether they need a blockchain at all, which kind of ledger, how keys and approvals are kept, and what happens when something changes or goes wrong.
Scope
- The three projects together in one kit, with all 28 tests passing in the same run.
- Design notes: whether a blockchain is needed, which kind of ledger, keys and approvals, and changes, audits and incidents.
- A recorded demo that includes an attack failing, a second approval from the same owner refused, and a deposit confirmed in the app.
- Three short case studies and a self-review against this guide.
Not included
- Deploying to a public network, using real money, or using any real person's data.
- Building the alternative from the design notes, such as a signed database: the notes compare it.
Before you start
- Projects 1, 2 and 3 complete, each with its self-check saved.
Starter files
capstone/demo-script.md: a suggested 10 to 15 minute demo.capstone/case-study-template.md: headings for each case study.capstone/design-notes-template.md: headings for the four design notes.
Download everything at once: starter/blockchain-starter.zip.
Milestones
- Run
npm testonce. - Fix anything that broke when the projects came together, and run them all again.
- Write the design notes from the template, marking anything you didn't try as "not verified".
- Write the README section "How to set up and check SakhiKosh" for the next developer.
- Record the demo following the script.
- Write the three case studies, labelling every figure as practice-kit data or illustrative.
Expected outputs
- In one run:
npm testwith 28 of 28 passing (10 contract, 10 multisig, 8 app). - A demo recording of 10 to 15 minutes.
- Design notes, three case studies and a self-review.
Acceptance tests
| # | Input | Expected result |
|---|---|---|
| 1 | npm test |
28 of 28 pass in the same run |
| 2 | Your README, given to a friend with Node.js installed | They can set up the kit, run the practice network, deploy, use the app and run every check without your help |
| 3 | Design notes | An honest comparison with a signed, append-only database and who needs to check the records; public chain, layer 2 or permissioned ledger compared on cost, privacy and who runs it; how keys are kept, backed up and replaced, and why three of five; how changes are made, what an audit would cover, and the first hour of an incident; anything untried marked "not verified" |
| 4 | Case studies | Each has a problem, a before and after, results and at least one honest limit, with every figure labelled as practice-kit data or illustrative |
Failure and recovery exercises
- In the demo, run the reentrancy test against the starter's order of steps (or show test 3 failing on a copy), then on your fund, show one owner's second approval refused, and send a deposit in the app that is reported only after its confirmations. Then explain what a member would have seen at each step.
Evidence to submit
- The deliverable link to the repository or folder with the finished kit, README, design notes and case studies.
- The output of
npm testfrom one run. - The demo recording link.
- Your self-review against this guide, with "not verified" for anything you couldn't try (for example a public test network, a browser or hardware wallet, a professional audit, Windows or macOS).
Marking guide and self-check
Pass rule: every Safety-critical (S) and Mandatory (M) item must be met. A single unmet safety item means the capstone is not complete. Quality items are for your own improvement.
Your answers are saved in this browser on this device. Self-checked means you checked your own work against this guide; it is not a reviewer's approval. Never paste passwords, keys, tokens or real customer data here.
