Skip to content

alpha-omega-labs/genesis-ethermint

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GenesisL1 Mainnet (Evmos fork)

Release v0.5.0 ~ Evmos v0.3.0

GenesisL1

Chain ID genesis_29-2

A source code fork of Evmos and Ethermint

Cosmos SDK v0.44.5-patch


Important

From Evmos to Cronos

This repository is an Evmos-fork and was used before we upgraded to a Cronos-fork. For those who want to run a full-node it's required to start out in this repository and sync up till height 7400000.

Node requirements

  • 300GB+ good hard drive disk
  • 8GB+ RAM
  • 4 CPU Threads
  • Good Internet Connection

Instructions

Warning

Only follow these steps if you wish to set up a full node, else you could immediately go to the genesis-crypto repository.

Note

More details for every script mentioned in this README can be found in the folders where they are respectively stored: /setup or /utils.

1. Cloning the repository

git clone https://github.com/alpha-omega-labs/genesis-ethermint.git

2. Checkout the right tag/branch

git checkout v0.5.0

3. Node setup

Important

If you already run a full-node on the Evmos fork and have to upgrade to the latest version of this fork (where we started using .genesis instead of .genesisd), skip this step and use the setup/upgrade.sh script instead.

There are two scripts¹ one could use to initialize a node:

  • node-setup-wizard.sh

    Use this script if you prefer to setup a node without having to do any manual preparation. It's a more interactive experience with visual feedback and takes care of things like: backing up previous setups, creating keys and starting the node.

    A one-liner to initialize a node and generate a key (optional) would be:

    sh node-setup-wizard.sh --moniker your_moniker_name --key your_key_alias
    

    WARNING: running this won't backup the database in an existing .genesis/data folder!

    If you don't want this to get wiped, add the --preserve-db flag!

    More flags can be set; see the README in the /setup-folder for more information on this.

  • quick-node-setup.sh

    This is a less bulky script, does not create any backups (!) or keys and contains only the necessary commands for initializing a full node. Its readability is higher, thus users who are used to manually setting up a node could use this script as a guide.

    A one-liner to initialize a node would be:

    sh quick-node-setup.sh your_moniker_name
    

    NOTE: this won't auto-start the node, which can be done using systemctl start genesisd.

    WARNING: no keys will be imported or created, which can be done directly using the CLI or see utils/key/create.sh or utils/key/import.sh.


¹ As this repository is only required for full node syncing, we've only included scripts for initializing a node and starting the sync process till height 7400000. Scripts for e.g. creating a validator will only be available in the genesis-crypto repository.

4. Daemon check

If you can't access the genesisd command at this point, then you may need to execute:

. ~/.bashrc

Or the equivalent: source ~/.bashrc

5. Node syncing

The node will sync till height 7400000 and automatically crash, which is expected. Once you've gotten this far, continue with the instructions in the genesis-crypto repository.

Monitor your node's status using journalctl -fu genesisd -ocat.

6. Explore utilities (optional)

Tip

The /utils-folder contains useful utilities one could use to manage their node (e.g. for fetching latest seeds and peers, fetching the genesis state, quickly shifting your config's ports etc.). To learn more about these, see the README in the folder.

Packages

No packages published

Languages

  • Go 82.2%
  • Shell 11.2%
  • Makefile 6.4%
  • Dockerfile 0.2%