Skip to content

The repository contains Infractructure as Code (IaC) resources to deploy Gnosis Beacon Chain validators in a decentralized manner.

License

Notifications You must be signed in to change notification settings

protofire/gnosis-beacon-chain-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gnosis Beacon Chain Validator

The repository contains Infractructure as Code (IaC) resources to deploy Gnosis Beacon Chain validators in a decentralized manner.

TOC

Description

This repository is designed to provide a simple way to deploy Gnosis Beacon Chain (GBC) validators distributed across multiple instances, regions and clouds.

Running instances in this decentralised fashion proves to provide better fault-tolerance, risk management and might also increase your rewards.

NOTE: You can use this repo to deploy single cloud/region installations as well ;)

The communication between Gnosis Chain (GC) Nodes, GBC Nodes and GBC Validators resources flows through the Internet. Instances has a predefined set of whitelisted IPs.

The list of supported Cloud Providers:

The list of supported Gnosis Beacon Chain clients:

How to use

In order to deploy the GBC Validators you will need to:

  1. Install prerequisites
  2. Generate GBC validator's keystores, if you don't have it already
  3. Deploy the infrastructure using Terraform (instruction)
  4. Deploy the application on the created infrastructure using Ansible (instruction)

NOTE: In case you want to deploy the GBC Validators on other instances (e.g., bare metal) that are not deployed using Terraform, then you can skip step number 2.

Prerequisites

NOTE: Links provide instructions for obtaining the necessary prerequisites.

Architecture

(open in a new tab for a better visibility) GBC Infrastructure Diagram

Connections

Service Component Network Services connections
GC Node Nethermind rpc:8545, ws-rpc:8546, peering:30303, ssh:22 GBC Node
GBC Node Lighthouse rpc:5052, ws-rpa:5052, peering:9000, ssh:22 GC Node, GBC Validator
GBC Validator Lighthouse ssh:22 GBC Node

Endpoints

Service URL
GC Node http://gc-node.example.com
GBC Node http://gbc-node.example.com

Infrastructure

The entire infrastructure is deployed with Terraform. All applications run in docker containers managed by docker-compose.

The infrastructure components to be deployed depends on the specific cloud provider:

Component Cloud provider Services
GC Node, GBC Node, GBC Validator AWS VPC, EC2, EBS, EIP
GCP Compute Network, Compute Address, Compute Disk, Compute Instance
Azure Virtual Network, Public IP, Managed Disk, Virtual Machine
DNS records and health checks AWS Route53 Hosted zone, Health checks

NOTE: By default, AWS Route53 is used to create DNS records and health checks, but this can be disabled. Also the Terraform tfstate file is stored in AWS S3 by default, but this behavior can be disabled.

License

The contents of this repository are licensed under the Apache 2.0 License - see the LICENSE file for details.

About

The repository contains Infractructure as Code (IaC) resources to deploy Gnosis Beacon Chain validators in a decentralized manner.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published