# Dapp: setup and run · Build with zero-knowledge proofs on Chromia · Learn Chromia

> Once your verification keys exist, point your local Chromia node at them.

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

Build with zero-knowledge proofs on ChromiaLesson 10 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/)

10 / 19Module 2 – DappAdvanced

# Dapp: setup and run

## Setup and run the dapp

Once your verification keys exist, point your local Chromia node at them.

The keys go in `rell/chromia.yml`. Copy the contents of each `.json` file from the previous step into that `chromia.yml` file by hand.

rell/chromia.yml

```
gtx:
  modules:
    - "net.postchain.zkp.ZKPGTXModule"

zkp:
  plonk:
    verification_keys:
      shield_operation:
        # Copy contents from shield_operation_verification_key.json
      unshield_operation:
        # Copy contents from unshield_operation_verification_key.json  
      private_transfer:
        # Copy contents from verification_key.json
```

If you prefer, use the pre-generated keys from the example repository.

Then start a local directory node with Docker:

bash

```nolines
docker run --rm -it -p 7740:7740/tcp registry.gitlab.com/chromaway/example-projects/directory1-example/managed-single:0.7.1
```

bash

```nolines
cd rell
```

Create a keypair for the provider:

bash

```nolines
chr keygen -f provider-keypair
```

Deploy the dapp to your local network:

bash

```nolines
chr deployment create -y -d local --secret provider-keypair
```

You should see output similar to this:

bash

```
deployments:
  local:
    chains:
      zkp_demo: x"3E339D3D2AB109....EC3CD97681134"
```

`DAPP_BRID = E339D3D2AB109....EC3CD97681134`

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

[← Previous**Module 2 – Dapp**](https://chromia.com/learn/zero-knowledge-proof/dapp/)[Next →**Dapp overview**](https://chromia.com/learn/zero-knowledge-proof/dapp/dapp-overview/)

On this page

* [Setup and run the dapp](#setup-and-run-the-dapp)
