github.com/0xPolygon/supernets2-node@v0.0.0-20230711153321-2fe574524eaa/docs/modes.md (about)

     1  # Configure the Node: Different modes of execution
     2  
     3  ## JSON RPC Service:
     4  
     5  This service will sync transactions from L2 to L1, it does not require a Prover to be working, just an RPC and Synchronizer. 
     6  
     7  ### Services needed:
     8  
     9  *Please perform each of these steps (downloading and running) before continuing!*
    10  
    11  - [RPCDB and StateDB Database](./components/databases.md)
    12  - [Synchronizer](./components/synchronizer.md)
    13  - [RPC](./components/rpc.md)
    14  - [MT and Executor](./components/prover.md)
    15  
    16  By default the config files found in the repository will spin up the Node in JSON RPC Service mode, which will not require a Prover (but will require a MT and Executor service).
    17  
    18  **This is considered to be the base, all modes require a Synchronizer Node container to be spun up*
    19  
    20  This will syncronize with the Trusted Sequencer (run by Polygon).
    21  
    22  Use the default [public config file](https://github.com/0xPolygon/supernets2-node/blob/develop/config/environments/public/public.node.config.toml), and make sure the following values are set to:
    23  
    24  ```toml
    25  [RPC]
    26  ...
    27  SequencerNodeURI = "https://public.supernets2-test.net:2083"
    28  ```
    29  
    30  Same goes for the Prover Config ([prover-config.json](https://github.com/0xPolygon/supernets2-node/blob/develop/config/environments/public/public.prover.config.json)):
    31  
    32  ```json
    33  {
    34  	...
    35      "runProverServer": false,
    36      "runProverServerMock": false,
    37      "runProverClient": false,
    38      "runExecutorServer": true,
    39      "runExecutorClient": false,
    40      "runStateDBServer": true
    41  }
    42  ```
    43  
    44  Additionally, the [`production-setup.md`](./production-setup.md) goes through the setup of both a synchronizer and RPC components of the node.
    45  
    46  ### Docker services:
    47  
    48  - `supernets2-sync`
    49  - `supernets2-prover` (`Merkle Tree`, `Executor`)
    50  - `supernets2-rpc` 
    51  - Databases
    52  
    53  ## If you want to create Proofs:
    54  
    55  This mode is a tad more complicated, as it will require more services and more machines:
    56  
    57  Requirements for the Prover service (sans MT/Executor): 1TB RAM 128 cores
    58  
    59  ### Services needed: 
    60  
    61  *Please perform each of these steps (downloading and running) before continuing!*
    62  
    63  - [StateDB Database](./components/databases.md)
    64  - [Synchronizer](./components/synchronizer.md)
    65  - [Aggregator](./components/aggregator.md)
    66  - [Prover, MT and Executor](./components/prover.md)
    67  
    68  Machine 0:
    69  
    70  - Synchronizer
    71  - Aggregator
    72  - MT and Executor
    73  - Databases
    74  
    75  Machine 1:
    76  
    77  - Prover only
    78  
    79  #### Machine 1
    80  
    81  Use default [prover config](https://github.com/0xPolygon/supernets2-node/blob/develop/config/environments/public/public.prover.config.json) but change the following values (`runProverServer` set to true, rest false):
    82  
    83  For *only* Prover Config (`only-prover-config.json`):
    84  
    85  ```json
    86  {
    87  	...
    88      "runProverServer": true,
    89      "runProverServerMock": false,
    90      "runProverClient": false,
    91      "runExecutorServer": false,
    92      "runExecutorClient": false,
    93      "runStateDBServer": false
    94  }
    95  ```
    96  
    97  ### Docker services:
    98  
    99  - `supernets2-sync`
   100  - `supernets2-prover` (`Prover`, `Merkle Tree`, `Executor`)
   101  - `supernets2-aggregator` 
   102  - Databases