Code Monkey home page Code Monkey logo

consensus-deployment-ansible's Introduction

Testnet ansible files + Config

This repository is a minimal set of playbooks and inventories required to set up the merge devnets consisting of execution and consensus nodes.

General information

  • General folder structure: All testnet relevant configs are under the testnet names. Generic config variables are set under <name>-testnet/inventory/group_vars/all.yaml. Client specific variables are set under e.g <name>-testnet/inventory/group_vars/eth2client_xxxxxx.yaml. The client specific variables also contains the commands used to start the docker image with.
  • All the config files, genesis.ssz and other variables needed for the testnet are placed under <name>-testnet/custom_config_data.

Instructions to join testnet

  1. Clone this repository
  2. Ensure docker and docker-compose is installed: docker-compose --version and docker --version
  3. Change directories with cd consensus-deployment-ansible/scripts/quick-run/<testnet-type>
  4. Create the required directories for persistent data with mkdir -p execution_data beacon_data
  5. Find your IP address(public IP) and add it to the <testnet-name>.vars file file located in consensus-deployment-ansible/scripts/quick-run/, this is just to ensure easy peering
    5.1 curl ifconfig.me or visit https://whatismyipaddress.com
    5.2 Replace IP in config file with your own IP address: https://i.imgur.com/xnNqN6h.png
  6. Run your chosen execution engine, e.g: docker-compose --env-file <testnet-name>.vars -f docker-compose.geth.yml up -d
  7. Run your chosen consensus engine, e.g: docker-compose --env-file <testnet-name>.vars -f docker-compose.lighthouse.yml up -d
  8. Check your logs to confirm that they are up and syncing, e.g docker logs lighthouse_beacon -f --tail=20
  9. To stop the clients, run docker-compose -f <insert file name you used earlier here> down

Alternative Instructions to join the Kintsugi testnet

Instructions for running ansible playbooks (Only works if you have access)

  1. Clone this repository
  2. Ensure ansible is installed
  3. Make changes in the required variable, e.g: Change the pithos-testnet/inventory/group_vars/eth1client_ethereumjs.yaml with the new docker image or the eth1_start_args for commands to run the container with
  4. The update_execution_beacon_and_validator.yml will stop the execution, beacon and validator containers and restart them with the new configurations specified as variables. Please use the limit=eth1/2_xxxx flag to limit the playbook execution to just update the nodes you have access to (otherwise it won't change the config on the others, but will show a lot of errors). Run this playbook with: ansible-playbook -i pithos-testnet/inventory/inventory.ini playbooks/update_execution_beacon_and_validator.yml --limit=eth1client_ethereumjs
  5. If you just want to update an execution node without touching the other docker containers use the tasks, e.g to restart execution node with the new parameters use,
ansible-playbook -i pithos-testnet/inventory/inventory.ini playbooks/tasks/stop_execution_node.yml --limit=eth1client_ethereumjs
ansible-playbook -i pithos-testnet/inventory/inventory.ini playbooks/tasks/start_execution_node.yml --limit=eth1client_ethereumjs

consensus-deployment-ansible's People

Contributors

coincashew avatar dapplion avatar dv8silencer avatar garyschulte avatar jgresham avatar marekm25 avatar parithosh avatar protolambda avatar timjp87 avatar ualtinok avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.