slingnode.ethereum
  • Overview
    • Supported clients
    • Supported OSes
    • Requirements
  • Using the role
  • Role Variables
  • Architecture
    • Exposing ports
    • Security
    • Docker & host firewall
  • JWT secret
  • Enabling Validator client API
  • Checkpoint sync
  • Switching clients
  • Metrics
  • Logging
  • Testing
  • Contributing
  • Known issues
Powered by GitBook
On this page

Was this helpful?

Role Variables

This page describes the the main variables.

PreviousUsing the roleNextArchitecture

Last updated 2 years ago

Was this helpful?

Role variables are defined in 'defaults'. This means they have the lowest precedence and can be easily overridden. See for details on the precedence.

All client specific variables are defined in their corresponding variable file. All client specific variables have unique names (prefixed with clientname_) so there's no risk of a clash.

Variable location
Purpose

defaults/main/main.yml

generic variables for the role; common variables for all clients

defaults/main/{{client}}.yml

variables specific to the client

vars/{{os_family}}.yml

variables specific to the OS

Important variables

This section outlines variables that you will most likely want to modify.

clients

"clients" variable defines what clients will be deployed. It defaults to geth and lighthouse. Possible values are:

  • execution: geth / nethermind / erigon / besu

  • consensus and validator: lighthouse, prysm, teku, nimbus

clients:
  execution: geth
  consensus: lighthouse
  validator: lighthouse

deploy_execution / deploy_consensus / deploy_validator

These three variables define which layer of the stack will be deployed. By default all three layers are deployed. Check out to see how they can be used.

deploy_execution: true
deploy_consensus: true
deploy_validator: true

enable_firewall

By default set to true, the role will make sure the firewall package is installed and will configure rules for the client that is being deployed.

enable_firewall: true

network

Specifies Ethereum network to connect to.

network: goerli

consensus_checkpoint_sync_enabled

Enable/disable consensus client checkpoint sync feature. Defaults to "true" (sync from checkpoint).

consensus_checkpoint_sync_enabled: true

consensus_checkpoint_sync_url

consensus_checkpoint_sync_url: https://sync-goerli.beaconcha.in

suggested_fee_recipient

A priority fee recipient address on your validator client instance and consensus node.

suggested_fee_recipient: "0xa10214731A6D9eC03d36d1437796D1cEe6a061f7" 

graffiti

graffiti: SlingNode.com

This is meant to be a safe default for anyone who uses the role to deploy on a server that is directly exposed to the internet (for example an OVH bare metal server). It is expected that for more enterprise type of deployments this would be set to false. Refer to section for details and notes on SSH port.

Refer to section for details.

Beacon endpoint to sync from. This needs to match the network you are deploying on - variable. Defaults to Goerli.

Refer to section for details.

Ansible documentation
examples
Checkpoint sync
Checkpoint sync
network
Host firewall