Skip to content

dabauxi/nimbus-docker

Repository files navigation

Nimbus Docker

A validator setup using nimbus and besu which can be exectuded via docker compose.

How to use

  1. First copy the default.env to a .env and change the configuration as needed.

    $ cp default.env .env
  2. Create data directories as specified in the .env. This can be done by executing:

    # Elevated priviliges are needed to set correct ownership and permissions.
    $ sudo ./create-data-directories.sh $(whoami)
    
    # Option 2:
    # Create data directories and set permissions manually e.g.
    # $ mkdir -p data/besu
    # $ mkdir -p data/nimbus
    # Set permissions as described in here: https://nimbus.guide/data-dir.html#permissions
  3. Generate a JWT secret for authentication between the beacon and execution node.

    $ openssl rand -hex 32 | tr -d "\n" > ./secrets/jwtsecret

    (Optional) Create a keymanagertoken token file for accessing the keymanager API

    $ openssl rand -hex 32 | tr -d "\n" > ./secrets/keymanagertoken
  4. Import your validator keys when deciding to run a validator. This can be done by placing your validator keys in the validator_keys/ directory and by executing:

    # You'll be asked to enter the password you created to encrypt your keystore(s).
    $ ./import-validator-keys.sh
  5. Copy nimbus-config/default-config.toml to nimbus-config/config.toml and set your fee recipient address in nimbus-config/config.toml.

  6. Copy besu-config/default-config.toml to besu-config/config.toml and set your fee recipient address in besu-config/config.toml.

  7. (Optionally) Start trusted node sync (before set a trusted URL in .env) by executing:

    $ ./init-trusted-node-sync.sh
  8. Start by running:

    $ ./start.sh

Update services

For updating services simply execute:

$ ./start.sh

About

A docker-compose environment for running Nimbus

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages