## 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 } ```