github.com/status-im/status-go@v1.1.0/BOOTNODE.md (about)

     1  # Description
     2  
     3  A "Bootnode" is a match-maker for all kinds of nodes. For example our [Mailserver](/MAILSERVER.md). It helps a new node find other nodes it can communicate with. It bootstraps connections between them.
     4  
     5  A Bootstrap node is a very static thing and should not change its IP. Their addresses are either hardcoded into the node binary or provided via flags or config files on process start.
     6  
     7  # Service Ports
     8  
     9  * `30301` UDP - Ethereum [Discovery port](https://github.com/ethereum/devp2p/wiki/Discovery-Overview), should __ALWAYS__ be public.
    10  # Setup methods
    11  
    12  This document describes the two alternative ways to start a Status Bootnode:
    13  
    14  * [Docker Compose](https://docs.docker.com/compose/) - More self-contained and portable
    15  * [Systemd Service](https://www.freedesktop.org/wiki/Software/systemd/) - More local and configurable
    16  
    17  ## Docker Compose
    18  
    19  The simplest way is to just use:
    20  ```
    21  make run-bootnode-docker
    22  ```
    23  This will generate the necessary config, compose and then start the container.
    24  
    25  For more details read the [README](_assets/compose/bootnode/README.md).
    26  
    27  ## Systemd Service
    28  
    29  The other way is to run the `bootnode` under `systemd`:
    30  ```
    31  make run-bootnode-systemd
    32  ```
    33  This will generate the necessary config, define and then start a user service.
    34  Use `sudo` if you want it to be a system service.
    35  
    36  For more details read the [README](_assets/systemd/bootnode/README.md).