---
# System prepended metadata

title: Untitled

---

## pre-synced Public Polygon zkEVM

### Download docker compose direcory

```
$ wget "https://drive.google.com/uc?export=download&confirm=yes&id=1WXZiHO4bJjq1gR1h7cMzvLRkN7KknRcP" -O dockerfiles.tar.gz
$ tar -xzvf dockerfiles.tar.gz
$ cd testnet
```

### Download statedb and replace it
```
$ mkdir -p db/statedb
$ wget "https://drive.google.com/uc?export=download&confirm=yes&id=1pr95xqoVO9BtgqOxar_akFUFYuAk7zQV"  -O statedb.tar.gz
$ sudo tar -xzvf statedb.tar.gz --strip-components 1 -C ./db/statedb/
````

### Edit .env

```
change ZKEVM_NODE_ETHERMAN_URL=
```

it is not necessary to touch `ZKEVM_NODE_STATEDB_DATA_DIR` or `ZKEVM_NODE_POOLDB_DATA_DIR` if you want it to be saved in the same directory where you have unzipped the docker directory.

### start docker
```
sudo docker compose --env-file .env -f docker-compose.yml up -d
```

### Summary of changes

#### Docker-compose
1. New image version
```
image: hermeznetwork/zkevm-prover:f9a62ee
```
2. remove `deploy` from zkevm-state-db
```
deploy:
      resources:
        limits:
          memory: 2G
        reservations:
          memory: 1G
```
3. Add new `postgresql.conf`
* add a new volume
```
      - ${ZKEVM_ADVANCED_CONFIG_DIR:-./config/environments/public}/postgresql.conf:/etc/postgresql.conf
```
* modify the command:
```
      - "postgres"
      - "-N"
      - "500"
      - "-c"
      - "config_file=/etc/postgresql.conf"
```
* added `postgresql.conf` to `./config/environments/public//postgresql.conf`

4. zkProver config

file: `./testnet/config/environments/public/public.prover.config.json`

```
{
    "runProverServer": false,
    "runProverServerMock": false,
    "runProverClient": false,

    "runExecutorServer": true,
    "runExecutorClient": false,
    "runExecutorClientMultithread": false,

    "runStateDBServer": true,
    "runStateDBTest": false,

    "runAggregatorServer": false,
    "runAggregatorClient": false,

    "runFileGenProof": false,
    "runFileGenBatchProof": false,
    "runFileGenAggregatedProof": false,
    "runFileGenFinalProof": false,
    "runFileProcessBatch": false,
    "runFileProcessBatchMultithread": false,

    "runKeccakScriptGenerator": false,
    "runKeccakTest": false,
    "runStorageSMTest": false,
    "runBinarySMTest": false,
    "runMemAlignSMTest": false,
    "runSHA256Test": false,
    "runBlakeTest": false,

    "executeInParallel": true,
    "useMainExecGenerated": false,
    "saveRequestToFile": false,
    "saveInputToFile": false,
    "saveDbReadsToFile": false,
    "saveDbReadsToFileOnChange": false,
    "saveOutputToFile": false,
    "saveResponseToFile": false,
    "loadDBToMemCache": false,
    "opcodeTracer": false,
    "logRemoteDbReads": false,
    "logExecutorServerResponses": false,

    "proverServerPort": 50051,
    "proverServerMockPort": 50052,
    "proverServerMockTimeout": 10000000,
    "proverClientPort": 50051,
    "proverClientHost": "127.0.0.1",

    "executorServerPort": 50071,
    "executorROMLineTraces": false,
    "executorClientPort": 50071,
    "executorClientHost": "127.0.0.1",

    "stateDBServerPort": 50061,
    "stateDBURL": "local",

    "aggregatorServerPort": 50081,
    "aggregatorClientPort": 50081,
    "aggregatorClientHost": "127.0.0.1",

    "inputFile": "input_executor.json",
    "outputPath": "output",
    "cmPolsFile_disabled": "zkevm.commit",
    "cmPolsFileC12a_disabled": "zkevm.c12a.commit",
    "cmPolsFileRecursive1_disabled": "zkevm.recursive1.commit",
    "constPolsFile": "zkevm.const",
    "constPolsC12aFile": "zkevm.c12a.const",
    "constPolsRecursive1File": "zkevm.recursive1.const",
    "mapConstPolsFile": false,
    "constantsTreeFile": "zkevm.consttree",
    "constantsTreeC12aFile": "zkevm.c12a.consttree",
    "constantsTreeRecursive1File": "zkevm.recursive1.consttree",
    "mapConstantsTreeFile": false,
    "starkFile": "zkevm.prove.json",
    "starkZkIn": "zkevm.proof.zkin.json",
    "starkZkInC12a":"zkevm.c12a.zkin.proof.json",
    "starkFileRecursive1": "zkevm.recursive1.proof.json",
    "verifierFile": "zkevm.verifier.dat",
    "verifierFileRecursive1": "zkevm.recursive1.verifier.dat",
    "witnessFile_disabled": "zkevm.witness.wtns",
    "witnessFileRecursive1": "zkevm.recursive1.witness.wtns",
    "execC12aFile": "zkevm.c12a.exec",
    "execRecursive1File": "zkevm.recursive1.exec",
    "starkVerifierFile": "zkevm.g16.0001.zkey",
    "publicStarkFile": "zkevm.public.json",
    "publicFile": "public.json",
    "proofFile": "proof.json",
    "keccakScriptFile": "keccak_script.json",
    "keccakPolsFile_DISABLED": "keccak_pols.json",
    "keccakConnectionsFile": "keccak_connections.json",
    "starkInfoFile": "zkevm.starkinfo.json",
    "starkInfoC12aFile": "zkevm.c12a.starkinfo.json",
    "starkInfoRecursive1File": "zkevm.recursive1.starkinfo.json",
    "databaseURL": "postgresql://prover_user:prover_pass@zkevm-state-db:5432/prover_db",
    "dbNodesTableName": "state.nodes",
    "dbProgramTableName": "state.program",
    "dbAsyncWrite": false,
    "dbMultiWrite": true,
    "dbMTCacheSize": 10240,
    "dbProgramCacheSize": 1024,
    "cleanerPollingPeriod": 600,
    "requestsPersistence": 3600,
    "maxExecutorThreads": 20,
    "maxProverThreads": 8,
    "maxStateDBThreads": 8
}
```
