Skip to content

GenesisL1 is an Ethereum-compatible blockchain network built on Cosmos' SDK technology. It is a fork of Cronos, with high throughput, and fast finality.

License

Notifications You must be signed in to change notification settings

zenodeapp/genesis-crypto

 
 

Repository files navigation

GenesisL1 Mainnet (Cronos fork)

Release v1.0.0 ~ Cronos v1.0.15

GenesisL1

Chain ID genesis_29-2

A source code fork of Cronos and Ethermint

Cosmos SDK v0.46.15


Important

For full-node syncing

We were an Evmos-fork before we made the decision to hard fork to Cronos. Therefore if you do not want to state sync, but wish to sync a full node, follow the instructions in the genesis-ethermint repository first before continuing.

Node requirements

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

Instructions

The instructions provided here is suitable for those who would like to join the mainnet: genesis_29-2 either by setting up a new node or upgrading an existing (full) node.

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-crypto.git

2. Checkout the right tag/branch

git checkout v1.0.0

3. Node setup

Depending on your circumstances, you'll either have to Setup a node (using state sync) or Upgrade a node.

3.1 Setup a node (using state sync)

This script takes care of the needed steps to join the network via state sync.

Warning

Running this will wipe the entire database (the /data-folder excluding the priv_validator_state.json file). Therefore if you already have a node set up and you prefer not to have your GenesisL1 database lost, create a backup.

You could use utils/backup/create.sh for this.

sh setup/state-sync.sh <moniker>

3.2 Upgrade a node

This script assumes that you are currently operating on the Evmos fork of GenesisL1 (repo: genesis-ethermint) and the node synced till height: 7400000 which caused it to panic.

Important

This should only be used if you run a full-node and have to perform the "plan_crypto"-upgrade.

sh setup/upgrade.sh

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. Create or import a key (optional)

A key is necessary to interact with the network/node. If you haven't already created one, either import one or generate a new one, using:

sh utils/key/create.sh <key_alias>

OR

sh utils/key/create.sh <key_alias> <private_eth_key>

<private_eth_key> is the private key for a (wallet) address you already own.

6. Node syncing

If everything went well, you should now be able to run your node using:

systemctl start tgenesisd

and see its status with:

journalctl -fu tgenesisd -ocat

7. Become a validator (optional)

Once your node is up-and-running, fully synced and you have a key created or imported, you could become a validator using:

sh setup/create-validator.sh <moniker> <key_alias>

This is a wizard and shall prompt the user only the required fields to create an on-chain validator.

8. 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, recalibrating your state sync etc.). To learn more about these, see the README in the folder.

About

GenesisL1 is an Ethereum-compatible blockchain network built on Cosmos' SDK technology. It is a fork of Cronos, with high throughput, and fast finality.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Go 49.0%
  • Python 28.5%
  • Solidity 6.3%
  • Shell 5.8%
  • Nix 4.5%
  • Jsonnet 3.2%
  • Other 2.7%