# Module 2 – Dapp · Build with zero-knowledge proofs on Chromia · Learn Chromia

> This Rell dapp is a token system that uses zero-knowledge proofs to keep transactions confidential. It supports three core operations: shield, which turns…

Source: https://chromia.com/learn/zero-knowledge-proof/dapp/

Build with zero-knowledge proofs on ChromiaLesson 9 of 19

1. [01Introduction to the course](https://chromia.com/learn/zero-knowledge-proof/introduction/)
2. [02Zero-knowledge proof](https://chromia.com/learn/zero-knowledge-proof/zero-knowledge-proof/)
3. [03Project setup](https://chromia.com/learn/zero-knowledge-proof/setup/)
4. [04Architecture overview](https://chromia.com/learn/zero-knowledge-proof/architecture-overview/)

Module 1: Writing Circom circuits

1. [05Overview](https://chromia.com/learn/zero-knowledge-proof/circom-circuits/)
2. [06Circom circuits: introduction](https://chromia.com/learn/zero-knowledge-proof/circom-circuits/circom-circuits-introduction/)
3. [07Circom files overview](https://chromia.com/learn/zero-knowledge-proof/circom-circuits/circom-circuits-project/)
4. [08Circom circuits: compile](https://chromia.com/learn/zero-knowledge-proof/circom-circuits/circom-circuits-compile/)

Module 2 – Dapp

1. [09Overview](https://chromia.com/learn/zero-knowledge-proof/dapp/)
2. [10Dapp: setup and run](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-setup-run/)
3. [11Dapp overview](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-overview/)
4. [12Dapp entities](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-entities/)
5. [13PLONK verification](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-verification/)
6. [14Dapp operations overview](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-operations/)
7. [15Dapp queries overview](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-queries/)

Module 3 – Frontend

1. [16Overview](https://chromia.com/learn/zero-knowledge-proof/frontend/)
2. [17Frontend: setup and run](https://chromia.com/learn/zero-knowledge-proof/frontend/frontend-setup-run/)
3. [18Frontend architecture](https://chromia.com/learn/zero-knowledge-proof/frontend/frontend-explore/)
4. [19Frontend: test](https://chromia.com/learn/zero-knowledge-proof/frontend/frontend-test/)

[Learn](https://chromia.com/learn/)[Build with zero-knowledge proofs on Chromia](https://chromia.com/learn/zero-knowledge-proof/)

09 / 19Module 2 – DappAdvanced

# Module 2 – Dapp

This Rell dapp is a token system that uses zero-knowledge proofs to keep transactions confidential. It supports three core operations:
shield, which turns public tokens into private commitments;
unshield, which turns private notes back into public tokens;
and private transfer, which moves tokens between users without exposing amounts or identities.

To block double-spending, the dapp keeps track of unspent commitments and spent nullifiers, while transaction details remain fully private. It also stores encrypted notes on-chain so that wallets can synchronize their state.

Every operation is backed by a PLONK proof, which the dapp checks through Chromia's ZKPGTXModule. This verification guarantees cryptographic integrity and keeps sensitive transaction data off the public ledger.

## In this lesson

1. [Dapp: setup and run](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-setup-run/)
2. [Dapp overview](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-overview/)
3. [Dapp entities](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-entities/)
4. [PLONK verification](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-verification/)
5. [Dapp operations overview](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-operations/)
6. [Dapp queries overview](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-queries/)

[Begin lesson →](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-setup-run/)

Written for this site from Chromia’s public course. Code samples are the course’s own.

[← Previous**Circom circuits: compile**](https://chromia.com/learn/zero-knowledge-proof/circom-circuits/circom-circuits-compile/)[Next →**Dapp: setup and run**](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-setup-run/)
