From 89c2535a28f02d582b3a5855c63d8c5b53b2dfb7 Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 20:33:36 +0200 Subject: [PATCH 01/23] Update README.md Signed-off-by: ZENODE --- README.md | 80 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 60 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index edb5dd7e23..4d0bb18c70 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,23 @@ -

GenesisL1 blockchain

-Cosmos SDK sdk v0.46.15
-Source code fork of cronos and ethermint +# GenesisL1 blockchain +

+ Cosmos SDK v0.46.15 +

-Node requirements: +

+ Source code fork of cronos and ethermint. +

-
  • 300GB+ good hard drive disk
  • -
  • 8GB+ RAM (if necessary it will be swapped to 150GB from hard drive)
  • -
  • 4 CPU Threads
  • -
  • Good Internet Connection
  • +## Node requirements +- 300GB+ good hard drive disk +- 8GB+ RAM (if necessary it will use at max 150GB from hard drive as swap, see below) +- 4 CPU Threads +- Good Internet Connection -Node init/upgrade time is 30-60min or a few tea cups +## **Script** +### Overview +`genesisd.sh` is available in the root folder of the repository. Running `sh genesisd.sh` gives an overview of what the script is capable of. -
  • Initialization (which will generate a new key):
    -sh genesisd.sh init $YOUR_NEW_NODE_NAME
  • - -
  • Upgrading (for if you already have an existing .genesisd folder and configuration):
    -sh genesisd.sh upgrade
  • - -
  • Upgrading (for if you already have an existing .genesisd folder and configuration, but want a different node name):
    -sh genesisd.sh upgrade $YOUR_NEW_NODE_NAME
  • -Other options: - +``` Usage: genesisd.sh [moniker] should be either 'upgrade' or 'init' @@ -30,4 +27,47 @@ Usage: genesisd.sh [moniker] --reset-priv-val-state Resets data/priv_validator_state.json file [UNSAFE] (default: false) --no-service This prevents the genesisd service from being made (default: false) --no-start This prevents the genesisd service from starting at the end of the script (default: false) - +``` + +### Usage + +- Initialization (generates a new key) + + `sh genesisd.sh init $YOUR_NEW_NODE_NAME` + +- Upgrading (for if you already have an existing .genesisd folder and configuration) + + `sh genesisd.sh upgrade` + + _--if you want a different node name you could use `sh genesisd.sh upgrade $YOUR_NEW_NODE_NAME`_ + +### Duration +Node init/upgrade time is 30-60min or a few tea cups. + +### Information + +#### Swap +Initializing a node uses quite a bit of memory. The script therefore automatically creates virtual memory (swap) to compensate for the amount it requires to start the node. Currently the script is set to automatically calculate how much RAM + Swap is available. Then, whether the user has enough disk space, creates additional swap to have a total of 150GB available RAM + Swap (Example: if 32GB RAM is unused and 30GB of swap is free, an additional swap of 88GB will be created). These swapfiles are formatted as `genesisd_swapfile_{number}` and are made persistent across reboots by adding a line to the `etc/fstab` file. See the bonus scripts for more info on how to properly remove them. + +#### Backups +If a `.genesisd` folder already exists, the script will back this up to a folder formatted as `.genesisd_backup_{date_time}`. This is a unique name based on the system's current time. Therefore running the script multiple times will continue to create new backup folders. + +Since our state file is large this would mean that it will be around ~14GB every time a backup is made. Make sure to remove older backup folders if you plan on running the script more often (testing purposes for instance). They're hidden folders in the root folder; use `cd ~` then `ls -a` to see them. + +## **Other (bonus) scripts** +There are some extra scripts in the `genesisd_scripts` folder, which could be useful later down the line. + +### - **Swap scripts** +Since the node requires quite some memory usage, swapfiles are created when you run the genesisd.sh script. To alter these swap files we've included scripts to quickly add or remove genesisd_swapfiles. + +- **Adding swap** `sh swap_add.sh ` + + Example: sh swap_add.sh 50 will create a new genesisd_swapfile that is 50GB in size in '/'. + +- **Removing swap** `sh swap_remove.sh ` + + Example: sh swap_remove.sh /genesisd_swapfile_2 turns off swapfile genesisd_swapfile_2, removes the related line in '/etc/fstab' and deletes /genesisd_swapfile_2. + +- **Removing all swaps** `sh swap_remove_all.sh` + + This will turn off all genesis swapfiles, removes all related lines in '/etc/fstab' and deletes all /genesisd_swapfiles From 900e3f75b1a79dea091d8a04638cd32e9081ebfe Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 20:35:17 +0200 Subject: [PATCH 02/23] Update README.md Signed-off-by: ZENODE --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4d0bb18c70..33646e3c37 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,11 @@ Usage: genesisd.sh [moniker] ### Usage -- Initialization (generates a new key) +- Initialization (new validators; generates a new key) `sh genesisd.sh init $YOUR_NEW_NODE_NAME` -- Upgrading (for if you already have an existing .genesisd folder and configuration) +- Upgrading (existing validators; you already have an existing .genesisd folder and configuration) `sh genesisd.sh upgrade` From 78a7f1b8195e6e9d445ab27fc0a7c763cd4994af Mon Sep 17 00:00:00 2001 From: zenodeapp Date: Thu, 14 Sep 2023 20:35:55 +0200 Subject: [PATCH 03/23] Changed genesis_29-2 to genesis_29-3 --- genesisd.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/genesisd.sh b/genesisd.sh index 278ae73a58..81ca40b9d1 100644 --- a/genesisd.sh +++ b/genesisd.sh @@ -11,24 +11,24 @@ cat << "EOF" \______/ \_______/|__/ |__/ \_______/|_______/ |__/|_______/ |________/|______/ Welcome to the decentralized blockchain Renaissance, above money & beyond cryptocurrency! -This script upgrades genesis_29-2 (evmos) to genesis_29-2 (cronos) running under root user. +This script upgrades genesis_29-2 (evmos) to genesis_29-3 (cronos) running under root user. GENESIS L1 is a highly experimental decentralized project, provided AS IS, with NO WARRANTY. GENESIS L1 IS A NON COMMERCIAL OPEN DECENTRALIZED BLOCKCHAIN PROJECT RELATED TO SCIENCE AND ART THIS IS AN UPGRADE TO COSMOS SDK V0.46.15 BASED ON CRONOS RELEASE SOURCE CODE, THANK YOU! Mainnet EVM chain ID: 29 - Cosmos chain ID: genesis_29-2 + Cosmos chain ID: genesis_29-3 Blockchain utilitarian coin: L1 Min. coin unit: el1 1 L1 = 1 000 000 000 000 000 000 el1 Initial supply: 21 000 000 L1 - genesis_29-2 at the time of upgrade circulation: ~29 000 000 L1 + genesis_29-3 at the time of upgrade circulation: ~29 000 000 L1 Mint rate: < 20% annual Block target time: ~11s Binary name: genesisd genesis_29-1 start: Nov 30, 2021 genesis_29-2 (evmos) start: Apr 16, 2022 - genesis_29-2 (cronos) start: Aug 26, 2023 + genesis_29-3 (cronos) start: Aug 26, 2023 EOF @@ -226,7 +226,7 @@ ulimit -n 50000 #PONYSAY snap install ponysay -ponysay "Installing genesisd from source code with updated genesis_29-2 mainnet!" +ponysay "Installing genesisd from source code with updated genesis_29-3 mainnet!" sleep 5s ponysay "WARNING: cosmosvisor, evmosd processes will be killed and evmos, evmosd system services will be stopped with this script on the next step. If you have other blockchains running, you might want to delete those parts of the script!" sleep 20s @@ -259,7 +259,7 @@ cd rsync -r --verbose --exclude 'data' ./"$backup_dir"/ ./.genesisd/ # SETTING UP THE NEW chain-id in CONFIG -genesisd config chain-id genesis_29-2 +genesisd config chain-id genesis_29-3 # INIT MODE WILL CREATE A NEW KEY if [ "$1" = "init" ]; then @@ -274,7 +274,7 @@ if [ "$1" = "init" ]; then sleep 120s fi - genesisd init $moniker --chain-id genesis_29-2 + genesisd init $moniker --chain-id genesis_29-3 fi #IMPORTING GENESIS STATE From e8fd4711ae35b1041fd92c1ffe724f7e7d3cfdde Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 20:40:15 +0200 Subject: [PATCH 04/23] Update README.md Signed-off-by: ZENODE --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 33646e3c37..4dd996cde5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ # GenesisL1 blockchain +

    + GenesisL1 +

    +

    Cosmos SDK v0.46.15

    From 6c43f33ed23635466122f97dd0aeee7f0c2d9d65 Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 20:46:15 +0200 Subject: [PATCH 05/23] Update README.md Signed-off-by: ZENODE --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4dd996cde5..e1e5b4cdba 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ - Good Internet Connection ## **Script** + ### Overview `genesisd.sh` is available in the root folder of the repository. Running `sh genesisd.sh` gives an overview of what the script is capable of. @@ -45,8 +46,12 @@ Usage: genesisd.sh [moniker] _--if you want a different node name you could use `sh genesisd.sh upgrade $YOUR_NEW_NODE_NAME`_ -### Duration -Node init/upgrade time is 30-60min or a few tea cups. +
    +
    + +

    + ☕ node init/upgrade time is 30-60min or a few tea cups... +

    ### Information From 760161e803a99ca92f44006ca5c88035a8b80da2 Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 20:46:32 +0200 Subject: [PATCH 06/23] Update README.md Signed-off-by: ZENODE --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index e1e5b4cdba..33eb01a45d 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,6 @@ Usage: genesisd.sh [moniker] _--if you want a different node name you could use `sh genesisd.sh upgrade $YOUR_NEW_NODE_NAME`_
    -

    node init/upgrade time is 30-60min or a few tea cups... From 78cc5a1cdf567ac6fe8b58d34646a56a545b5c89 Mon Sep 17 00:00:00 2001 From: zenodeapp Date: Thu, 14 Sep 2023 21:00:35 +0200 Subject: [PATCH 07/23] Update Readme's and added genesisd_docs --- README.md | 25 +++++--- genesisd_docs/CHAIN_UPGRADE_29-3.md | 93 +++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+), 9 deletions(-) create mode 100644 genesisd_docs/CHAIN_UPGRADE_29-3.md diff --git a/README.md b/README.md index 33eb01a45d..d643020cae 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # GenesisL1 blockchain +

    GenesisL1

    @@ -12,6 +13,7 @@

    ## Node requirements + - 300GB+ good hard drive disk - 8GB+ RAM (if necessary it will use at max 150GB from hard drive as swap, see below) - 4 CPU Threads @@ -20,6 +22,7 @@ ## **Script** ### Overview + `genesisd.sh` is available in the root folder of the repository. Running `sh genesisd.sh` gives an overview of what the script is capable of. ``` @@ -38,13 +41,13 @@ Usage: genesisd.sh [moniker] - Initialization (new validators; generates a new key) - `sh genesisd.sh init $YOUR_NEW_NODE_NAME` + `sh genesisd.sh init $YOUR_NEW_NODE_NAME` - Upgrading (existing validators; you already have an existing .genesisd folder and configuration) - `sh genesisd.sh upgrade` - - _--if you want a different node name you could use `sh genesisd.sh upgrade $YOUR_NEW_NODE_NAME`_ + `sh genesisd.sh upgrade` + + _--if you want a different node name you could use `sh genesisd.sh upgrade $YOUR_NEW_NODE_NAME`_
    @@ -55,27 +58,31 @@ Usage: genesisd.sh [moniker] ### Information #### Swap + Initializing a node uses quite a bit of memory. The script therefore automatically creates virtual memory (swap) to compensate for the amount it requires to start the node. Currently the script is set to automatically calculate how much RAM + Swap is available. Then, whether the user has enough disk space, creates additional swap to have a total of 150GB available RAM + Swap (Example: if 32GB RAM is unused and 30GB of swap is free, an additional swap of 88GB will be created). These swapfiles are formatted as `genesisd_swapfile_{number}` and are made persistent across reboots by adding a line to the `etc/fstab` file. See the bonus scripts for more info on how to properly remove them. #### Backups + If a `.genesisd` folder already exists, the script will back this up to a folder formatted as `.genesisd_backup_{date_time}`. This is a unique name based on the system's current time. Therefore running the script multiple times will continue to create new backup folders. Since our state file is large this would mean that it will be around ~14GB every time a backup is made. Make sure to remove older backup folders if you plan on running the script more often (testing purposes for instance). They're hidden folders in the root folder; use `cd ~` then `ls -a` to see them. ## **Other (bonus) scripts** + There are some extra scripts in the `genesisd_scripts` folder, which could be useful later down the line. ### - **Swap scripts** + Since the node requires quite some memory usage, swapfiles are created when you run the genesisd.sh script. To alter these swap files we've included scripts to quickly add or remove genesisd_swapfiles. - **Adding swap** `sh swap_add.sh ` - - Example: sh swap_add.sh 50 will create a new genesisd_swapfile that is 50GB in size in '/'. + + Example: sh swap_add.sh 50 will create a new genesisd_swapfile that is 50GB in size in '/'. - **Removing swap** `sh swap_remove.sh ` - - Example: sh swap_remove.sh /genesisd_swapfile_2 turns off swapfile genesisd_swapfile_2, removes the related line in '/etc/fstab' and deletes /genesisd_swapfile_2. + + Example: sh swap_remove.sh /genesisd_swapfile_2 turns off swapfile genesisd_swapfile_2, removes the related line in '/etc/fstab' and deletes /genesisd_swapfile_2. - **Removing all swaps** `sh swap_remove_all.sh` - This will turn off all genesis swapfiles, removes all related lines in '/etc/fstab' and deletes all /genesisd_swapfiles + This will turn off all genesis swapfiles, removes all related lines in '/etc/fstab' and deletes all /genesisd_swapfiles diff --git a/genesisd_docs/CHAIN_UPGRADE_29-3.md b/genesisd_docs/CHAIN_UPGRADE_29-3.md new file mode 100644 index 0000000000..b1711949f5 --- /dev/null +++ b/genesisd_docs/CHAIN_UPGRADE_29-3.md @@ -0,0 +1,93 @@ +# GenesisL1 blockchain + +

    + IMPORTANT: Make sure you backup your keys before running this script. + It will make a backup of everything, but manually doing one yourself would be wise, in case anything goes wrong. + +ALSO IMPORTANT: Do note that this is a different repository than we used before. +Thus you shouldn't skip the first step if you haven't already git clone'd the new repository (git pull in the old repo won't work). + +

    + +

    + Cosmos SDK v0.46.15 +

    + +

    + Source code fork of cronos and ethermint. +

    + +## Node requirements + +- 300GB+ good hard drive disk +- 8GB+ RAM (if necessary it will use at max 150GB from hard drive as swap, see below) +- 4 CPU Threads +- Good Internet Connection + +## **Script** + +### Overview + +`genesisd.sh` is available in the root folder of the repository. Running `sh genesisd.sh` gives an overview of what the script is capable of. + +``` +Usage: genesisd.sh [moniker] + should be either 'upgrade' or 'init' + + Options: + --crisis-skip Makes sure that genesisd starts with the --x-crisis-skip-assert-invariants flag (default: false) + --skip-state-download Skips downloading the genesis.json file, only do this if you're certain to have the correct state file already (default: false) + --reset-priv-val-state Resets data/priv_validator_state.json file [UNSAFE] (default: false) + --no-service This prevents the genesisd service from being made (default: false) + --no-start This prevents the genesisd service from starting at the end of the script (default: false) +``` + +### Usage + +- Initialization (new validators; generates a new key) + + `sh genesisd.sh init $YOUR_NEW_NODE_NAME` + +- Upgrading (existing validators; you already have an existing .genesisd folder and configuration) + + `sh genesisd.sh upgrade` + + _--if you want a different node name you could use `sh genesisd.sh upgrade $YOUR_NEW_NODE_NAME`_ + +
    + +

    + ☕ node init/upgrade time is 30-60min or a few tea cups... +

    + +### Information + +#### Swap + +Initializing a node uses quite a bit of memory. The script therefore automatically creates virtual memory (swap) to compensate for the amount it requires to start the node. Currently the script is set to automatically calculate how much RAM + Swap is available. Then, whether the user has enough disk space, creates additional swap to have a total of 150GB available RAM + Swap (Example: if 32GB RAM is unused and 30GB of swap is free, an additional swap of 88GB will be created). These swapfiles are formatted as `genesisd_swapfile_{number}` and are made persistent across reboots by adding a line to the `etc/fstab` file. See the bonus scripts for more info on how to properly remove them. + +#### Backups + +If a `.genesisd` folder already exists, the script will back this up to a folder formatted as `.genesisd_backup_{date_time}`. This is a unique name based on the system's current time. Therefore running the script multiple times will continue to create new backup folders. + +Since our state file is large this would mean that it will be around ~14GB every time a backup is made. Make sure to remove older backup folders if you plan on running the script more often (testing purposes for instance). They're hidden folders in the root folder; use `cd ~` then `ls -a` to see them. + +## **Other (bonus) scripts** + +There are some extra scripts in the `genesisd_scripts` folder, which could be useful later down the line. + +### - **Swap scripts** + +Since the node requires quite some memory usage, swapfiles are created when you run the genesisd.sh script. To alter these swap files we've included scripts to quickly add or remove genesisd_swapfiles. + +- **Adding swap** `sh swap_add.sh ` + + Example: sh swap_add.sh 50 will create a new genesisd_swapfile that is 50GB in size in '/'. + +- **Removing swap** `sh swap_remove.sh ` + + Example: sh swap_remove.sh /genesisd_swapfile_2 turns off swapfile genesisd_swapfile_2, removes the related line in '/etc/fstab' and deletes /genesisd_swapfile_2. + +- **Removing all swaps** `sh swap_remove_all.sh` + + This will turn off all genesis swapfiles, removes all related lines in '/etc/fstab' and deletes all /genesisd_swapfiles From f2217eaa9544568d1865c4dba657891ebca0f64a Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 21:53:51 +0200 Subject: [PATCH 08/23] Update CHAIN_UPGRADE_29-3.md Signed-off-by: ZENODE --- genesisd_docs/CHAIN_UPGRADE_29-3.md | 110 ++++++++++++---------------- 1 file changed, 45 insertions(+), 65 deletions(-) diff --git a/genesisd_docs/CHAIN_UPGRADE_29-3.md b/genesisd_docs/CHAIN_UPGRADE_29-3.md index b1711949f5..b74049ebe3 100644 --- a/genesisd_docs/CHAIN_UPGRADE_29-3.md +++ b/genesisd_docs/CHAIN_UPGRADE_29-3.md @@ -1,93 +1,73 @@ -# GenesisL1 blockchain +# Chain upgrade: genesis_29-3 -

    - IMPORTANT: Make sure you backup your keys before running this script. - It will make a backup of everything, but manually doing one yourself would be wise, in case anything goes wrong. +This readme is a guide on how to upgrade your node from genesis_29-2 to genesis_29-3 and what you should be paying attention to. + +**IMPORTANT:** Make sure you backup your keys before running the `genesisd.sh` script. Even if it is configured to make a backup of everything, manually doing one yourself is always wise in case anything goes wrong. -ALSO IMPORTANT: Do note that this is a different repository than we used before. -Thus you shouldn't skip the first step if you haven't already git clone'd the new repository (git pull in the old repo won't work). +Also, for those who come from genesis_29-2 (evmos), do note that this is a different repository than we used before. The old one was named `genesisd`, this one `genesisL1`. Thus don't skip the first steps if you haven't already git cloned the new repository. -

    +Finally, the state file has changed again. Even if you already have the 14Gb state file, because we had to change the chain-id as well in this file (therefore you should not use the `--skip-state-download` flag). -

    - Cosmos SDK v0.46.15 -

    +___ -

    - Source code fork of cronos and ethermint. -

    - -## Node requirements - -- 300GB+ good hard drive disk -- 8GB+ RAM (if necessary it will use at max 150GB from hard drive as swap, see below) -- 4 CPU Threads -- Good Internet Connection - -## **Script** - -### Overview - -`genesisd.sh` is available in the root folder of the repository. Running `sh genesisd.sh` gives an overview of what the script is capable of. +###

    1. I am new, I am not a validator yet, but would like to join 🎉

    +#### Oneliner: +Make sure to replace in the oneliner below with a name of your choice. ``` -Usage: genesisd.sh [moniker] - should be either 'upgrade' or 'init' - - Options: - --crisis-skip Makes sure that genesisd starts with the --x-crisis-skip-assert-invariants flag (default: false) - --skip-state-download Skips downloading the genesis.json file, only do this if you're certain to have the correct state file already (default: false) - --reset-priv-val-state Resets data/priv_validator_state.json file [UNSAFE] (default: false) - --no-service This prevents the genesisd service from being made (default: false) - --no-start This prevents the genesisd service from starting at the end of the script (default: false) +cd ~ && git clone https://github.com/alpha-omega-labs/genesisL1.git && cd genesisL1 && sh genesisd.sh init --reset-priv-val-state ``` -### Usage - -- Initialization (new validators; generates a new key) - - `sh genesisd.sh init $YOUR_NEW_NODE_NAME` +#### Or, step-by-step: -- Upgrading (existing validators; you already have an existing .genesisd folder and configuration) +1. `cd ~` +2. `git clone https://github.com/alpha-omega-labs/genesisL1.git` +3. `cd genesisL1` +4. `sh genesisd.sh init --reset-priv-val-state` - `sh genesisd.sh upgrade` + _replace with a name of your choice_ - _--if you want a different node name you could use `sh genesisd.sh upgrade $YOUR_NEW_NODE_NAME`_ + _the --reset-priv-val-state flag is an extra pre-caution to prevent old values to be used in your new node (if you already had a .genesisd folder)._ -
    +___ -

    - ☕ node init/upgrade time is 30-60min or a few tea cups... -

    +###

    2. I am a validator and I NEVER upgraded to the 'cronos' version of GenesisL1 🥱

    -### Information +This means that you still use the `genesisd` repository and not the `genesisL1` repository. If this is the case, then: -#### Swap +#### Oneliner: -Initializing a node uses quite a bit of memory. The script therefore automatically creates virtual memory (swap) to compensate for the amount it requires to start the node. Currently the script is set to automatically calculate how much RAM + Swap is available. Then, whether the user has enough disk space, creates additional swap to have a total of 150GB available RAM + Swap (Example: if 32GB RAM is unused and 30GB of swap is free, an additional swap of 88GB will be created). These swapfiles are formatted as `genesisd_swapfile_{number}` and are made persistent across reboots by adding a line to the `etc/fstab` file. See the bonus scripts for more info on how to properly remove them. - -#### Backups - -If a `.genesisd` folder already exists, the script will back this up to a folder formatted as `.genesisd_backup_{date_time}`. This is a unique name based on the system's current time. Therefore running the script multiple times will continue to create new backup folders. +``` +cd ~ && git clone https://github.com/alpha-omega-labs/genesisL1.git && cd genesisL1 && sh genesisd.sh upgrade --reset-priv-val-state +``` -Since our state file is large this would mean that it will be around ~14GB every time a backup is made. Make sure to remove older backup folders if you plan on running the script more often (testing purposes for instance). They're hidden folders in the root folder; use `cd ~` then `ls -a` to see them. +#### Or, step-by-step: -## **Other (bonus) scripts** +1. `cs ~` +2. `git clone https://github.com/alpha-omega-labs/genesisL1.git` +3. `cd genesisL1` +4. `sh genesisd.sh upgrade --reset-priv-val-state` -There are some extra scripts in the `genesisd_scripts` folder, which could be useful later down the line. + _in case you want to change your node's name, you could also run sh genesisd.sh upgrade --reset-priv-val-state and replace with a name of your choice._ -### - **Swap scripts** +___ -Since the node requires quite some memory usage, swapfiles are created when you run the genesisd.sh script. To alter these swap files we've included scripts to quickly add or remove genesisd_swapfiles. +###

    3. I am a validator and I HAVE upgraded to the 'cronos' version of GenesisL1 😎

    -- **Adding swap** `sh swap_add.sh ` +#### Oneliner: - Example: sh swap_add.sh 50 will create a new genesisd_swapfile that is 50GB in size in '/'. +``` +cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesisL1.git && cd genesisL1 && sh genesisd.sh upgrade --reset-priv-val-state +``` -- **Removing swap** `sh swap_remove.sh ` +#### Or, step-by-step: - Example: sh swap_remove.sh /genesisd_swapfile_2 turns off swapfile genesisd_swapfile_2, removes the related line in '/etc/fstab' and deletes /genesisd_swapfile_2. +1. `cd ~` +2. `rm -r genesisL1` +3. `git clone https://github.com/alpha-omega-labs/genesisL1.git` +4. `cd genesisL1` +5. `sh genesisd.sh upgrade --reset-priv-val-state` -- **Removing all swaps** `sh swap_remove_all.sh` + _in case you want to change your node's name, you could also run sh genesisd.sh upgrade --reset-priv-val-state and replace with a name of your choice._ - This will turn off all genesis swapfiles, removes all related lines in '/etc/fstab' and deletes all /genesisd_swapfiles + _do not use the --skip-state-download flag, for reasons stated above._ From b3ca1a39e6092adb36b8236a6e0fb7fab83f0cce Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 22:13:57 +0200 Subject: [PATCH 09/23] Update CHAIN_UPGRADE_29-3.md Signed-off-by: ZENODE --- genesisd_docs/CHAIN_UPGRADE_29-3.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/genesisd_docs/CHAIN_UPGRADE_29-3.md b/genesisd_docs/CHAIN_UPGRADE_29-3.md index b74049ebe3..43eee730b9 100644 --- a/genesisd_docs/CHAIN_UPGRADE_29-3.md +++ b/genesisd_docs/CHAIN_UPGRADE_29-3.md @@ -71,3 +71,31 @@ cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesis _in case you want to change your node's name, you could also run sh genesisd.sh upgrade --reset-priv-val-state and replace with a name of your choice._ _do not use the --skip-state-download flag, for reasons stated above._ + +___ + +###

    4. I am a validator and I HAVE upgraded to the 'cronos' version of GenesisL1, but prefer to upgrade manually 🤓

    + +For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step. Important to know is that the state file changed again, so downloading this again. Also the chain-id changed from genesis_29-2 to genesis_29-3 and the priv_validator_state.json file needs to be reset ({"height": "0", "round": 0, "step": 0}). + +#### Oneliner: + +``` +cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesisL1.git && service genesisd stop && cd genesisL1 && go mod tidy && make install && genesisd config chain-id genesis_29-3 && cd ~/.genesisd/config && rm -r genesis.json && wget http://135.181.135.29/genesisd/genesis.json && genesisd tendermint unsafe-reset-all && service genesisd start +``` + +#### Or, step-by-step: + +1. `cd ~` +2. `rm -r genesisL1` +3. `git clone https://github.com/alpha-omega-labs/genesisL1.git` +4. `service genesisd stop` +5. `cd genesisL1` +6. `go mod tidy` +7. `make install` +8. `genesisd config chain-id genesis_29-3` +9. `cd ~/.genesisd/config` +10. `rm -r genesis.json` +11. `wget http://135.181.135.29/genesisd/genesis.json` +12. `genesisd tendermint unsafe-reset-all` +13. `service genesisd start` From b78ff42dc51fe00da07aab998c2f10faa0730853 Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 22:19:39 +0200 Subject: [PATCH 10/23] Update CHAIN_UPGRADE_29-3.md Signed-off-by: ZENODE --- genesisd_docs/CHAIN_UPGRADE_29-3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/genesisd_docs/CHAIN_UPGRADE_29-3.md b/genesisd_docs/CHAIN_UPGRADE_29-3.md index 43eee730b9..b065d22f16 100644 --- a/genesisd_docs/CHAIN_UPGRADE_29-3.md +++ b/genesisd_docs/CHAIN_UPGRADE_29-3.md @@ -43,7 +43,7 @@ cd ~ && git clone https://github.com/alpha-omega-labs/genesisL1.git && cd genesi #### Or, step-by-step: -1. `cs ~` +1. `cd ~` 2. `git clone https://github.com/alpha-omega-labs/genesisL1.git` 3. `cd genesisL1` 4. `sh genesisd.sh upgrade --reset-priv-val-state` From 1548dd888d3ae0f2c574613a8912cd74a29138ed Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 22:27:52 +0200 Subject: [PATCH 11/23] Update CHAIN_UPGRADE_29-3.md Signed-off-by: ZENODE --- genesisd_docs/CHAIN_UPGRADE_29-3.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/genesisd_docs/CHAIN_UPGRADE_29-3.md b/genesisd_docs/CHAIN_UPGRADE_29-3.md index b065d22f16..6530368e69 100644 --- a/genesisd_docs/CHAIN_UPGRADE_29-3.md +++ b/genesisd_docs/CHAIN_UPGRADE_29-3.md @@ -76,7 +76,9 @@ ___ ###

    4. I am a validator and I HAVE upgraded to the 'cronos' version of GenesisL1, but prefer to upgrade manually 🤓

    -For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step. Important to know is that the state file changed again, so downloading this again. Also the chain-id changed from genesis_29-2 to genesis_29-3 and the priv_validator_state.json file needs to be reset ({"height": "0", "round": 0, "step": 0}). +For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step. Important to know is that the state file changed again, so downloading this again. Also the chain-id changed from genesis_29-2 to genesis_29-3 and the priv_validator_state.json file needs to be reset ({"height": "0", "round": 0, "step": 0}). + +I do need to address that you should make sure that your config.toml and app.toml are up-to-date (if you participated in the cronos upgrade and already copied these config files over or used the script back then, then you're good), else you should check the `/genesisd_config/` folder to see what the config files look like (do not forget to restore your moniker in the config.toml file if you end up using these pre-configured files). #### Oneliner: From 4a2d0caa0227a6ef13c508d52b652576878bfaa4 Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 22:29:18 +0200 Subject: [PATCH 12/23] Update CHAIN_UPGRADE_29-3.md Signed-off-by: ZENODE --- genesisd_docs/CHAIN_UPGRADE_29-3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/genesisd_docs/CHAIN_UPGRADE_29-3.md b/genesisd_docs/CHAIN_UPGRADE_29-3.md index 6530368e69..702cb32f01 100644 --- a/genesisd_docs/CHAIN_UPGRADE_29-3.md +++ b/genesisd_docs/CHAIN_UPGRADE_29-3.md @@ -78,7 +78,7 @@ ___ For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step. Important to know is that the state file changed again, so downloading this again. Also the chain-id changed from genesis_29-2 to genesis_29-3 and the priv_validator_state.json file needs to be reset ({"height": "0", "round": 0, "step": 0}). -I do need to address that you should make sure that your config.toml and app.toml are up-to-date (if you participated in the cronos upgrade and already copied these config files over or used the script back then, then you're good), else you should check the `/genesisd_config/` folder to see what the config files look like (do not forget to restore your moniker in the config.toml file if you end up using these pre-configured files). +I do need to address that you should make sure that your config.toml and app.toml are up-to-date (if you participated in the cronos upgrade and already copied these config files over or used the script back then, then you're good), else you should check the `/genesisd_config/` folder to see what the config files look like. Do not forget to restore your moniker and any other settings you had if you end up using these pre-configured files. #### Oneliner: From ab9586c6b137375f84a387c6953428ac037e19d9 Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 22:30:28 +0200 Subject: [PATCH 13/23] Update CHAIN_UPGRADE_29-3.md Signed-off-by: ZENODE --- genesisd_docs/CHAIN_UPGRADE_29-3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/genesisd_docs/CHAIN_UPGRADE_29-3.md b/genesisd_docs/CHAIN_UPGRADE_29-3.md index 702cb32f01..b2dcc027ae 100644 --- a/genesisd_docs/CHAIN_UPGRADE_29-3.md +++ b/genesisd_docs/CHAIN_UPGRADE_29-3.md @@ -78,7 +78,7 @@ ___ For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step. Important to know is that the state file changed again, so downloading this again. Also the chain-id changed from genesis_29-2 to genesis_29-3 and the priv_validator_state.json file needs to be reset ({"height": "0", "round": 0, "step": 0}). -I do need to address that you should make sure that your config.toml and app.toml are up-to-date (if you participated in the cronos upgrade and already copied these config files over or used the script back then, then you're good), else you should check the `/genesisd_config/` folder to see what the config files look like. Do not forget to restore your moniker and any other settings you had if you end up using these pre-configured files. +_I do need to address that you should make sure that your config.toml and app.toml are up-to-date. If you participated in the cronos upgrade and already copied these config files over or used the script back then, then you're good, else you should check the `/genesisd_config/` folder to see what the config files look like. Do not forget to restore your moniker and any other settings you had if you end up using these pre-configured files._ #### Oneliner: From 1a6de1289154d54bf3dddd6413d00d75d145ce5a Mon Sep 17 00:00:00 2001 From: zenodeapp Date: Thu, 14 Sep 2023 22:48:10 +0200 Subject: [PATCH 14/23] Update CHAIN_UPGRADE_29-3.md --- genesisd_docs/CHAIN_UPGRADE_29-3.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/genesisd_docs/CHAIN_UPGRADE_29-3.md b/genesisd_docs/CHAIN_UPGRADE_29-3.md index b2dcc027ae..69fed5265b 100644 --- a/genesisd_docs/CHAIN_UPGRADE_29-3.md +++ b/genesisd_docs/CHAIN_UPGRADE_29-3.md @@ -1,19 +1,21 @@ # Chain upgrade: genesis_29-3 This readme is a guide on how to upgrade your node from genesis_29-2 to genesis_29-3 and what you should be paying attention to. - + **IMPORTANT:** Make sure you backup your keys before running the `genesisd.sh` script. Even if it is configured to make a backup of everything, manually doing one yourself is always wise in case anything goes wrong. Also, for those who come from genesis_29-2 (evmos), do note that this is a different repository than we used before. The old one was named `genesisd`, this one `genesisL1`. Thus don't skip the first steps if you haven't already git cloned the new repository. -Finally, the state file has changed again. Even if you already have the 14Gb state file, because we had to change the chain-id as well in this file (therefore you should not use the `--skip-state-download` flag). +Finally, the state file has changed again. Even if you already have the 14Gb state file, because we had to change the chain-id as well in this file (therefore you should not use the `--skip-state-download` flag). -___ +--- ###

    1. I am new, I am not a validator yet, but would like to join 🎉

    #### Oneliner: + Make sure to replace in the oneliner below with a name of your choice. + ``` cd ~ && git clone https://github.com/alpha-omega-labs/genesisL1.git && cd genesisL1 && sh genesisd.sh init --reset-priv-val-state ``` @@ -25,11 +27,11 @@ cd ~ && git clone https://github.com/alpha-omega-labs/genesisL1.git && cd genesi 3. `cd genesisL1` 4. `sh genesisd.sh init --reset-priv-val-state` - _replace with a name of your choice_ + _replace with a name of your choice_ _the --reset-priv-val-state flag is an extra pre-caution to prevent old values to be used in your new node (if you already had a .genesisd folder)._ -___ +--- ###

    2. I am a validator and I NEVER upgraded to the 'cronos' version of GenesisL1 🥱

    @@ -48,9 +50,9 @@ cd ~ && git clone https://github.com/alpha-omega-labs/genesisL1.git && cd genesi 3. `cd genesisL1` 4. `sh genesisd.sh upgrade --reset-priv-val-state` - _in case you want to change your node's name, you could also run sh genesisd.sh upgrade --reset-priv-val-state and replace with a name of your choice._ + _in case you want to change your node's name, you could also run sh genesisd.sh upgrade --reset-priv-val-state and replace with a name of your choice._ -___ +--- ###

    3. I am a validator and I HAVE upgraded to the 'cronos' version of GenesisL1 😎

    @@ -68,11 +70,11 @@ cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesis 4. `cd genesisL1` 5. `sh genesisd.sh upgrade --reset-priv-val-state` - _in case you want to change your node's name, you could also run sh genesisd.sh upgrade --reset-priv-val-state and replace with a name of your choice._ + _in case you want to change your node's name, you could also run sh genesisd.sh upgrade --reset-priv-val-state and replace with a name of your choice._ _do not use the --skip-state-download flag, for reasons stated above._ -___ +--- ###

    4. I am a validator and I HAVE upgraded to the 'cronos' version of GenesisL1, but prefer to upgrade manually 🤓

    From 0309cce163c47a5c97cece1a46038ca8f1863d86 Mon Sep 17 00:00:00 2001 From: zenodeapp Date: Thu, 14 Sep 2023 22:56:53 +0200 Subject: [PATCH 15/23] Update CHAIN_UPGRADE_29-3.md --- genesisd_docs/CHAIN_UPGRADE_29-3.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/genesisd_docs/CHAIN_UPGRADE_29-3.md b/genesisd_docs/CHAIN_UPGRADE_29-3.md index 69fed5265b..6af19d5793 100644 --- a/genesisd_docs/CHAIN_UPGRADE_29-3.md +++ b/genesisd_docs/CHAIN_UPGRADE_29-3.md @@ -78,9 +78,9 @@ cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesis ###

    4. I am a validator and I HAVE upgraded to the 'cronos' version of GenesisL1, but prefer to upgrade manually 🤓

    -For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step. Important to know is that the state file changed again, so downloading this again. Also the chain-id changed from genesis_29-2 to genesis_29-3 and the priv_validator_state.json file needs to be reset ({"height": "0", "round": 0, "step": 0}). +For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step guide. Important to know is that the state file changed again, so downloading this again. Also the chain-id changed from genesis_29-2 to genesis_29-3 and the priv_validator_state.json file needs to be reset ({"height": "0", "round": 0, "step": 0}). -_I do need to address that you should make sure that your config.toml and app.toml are up-to-date. If you participated in the cronos upgrade and already copied these config files over or used the script back then, then you're good, else you should check the `/genesisd_config/` folder to see what the config files look like. Do not forget to restore your moniker and any other settings you had if you end up using these pre-configured files._ +_I do need to address that you should make sure that your config.toml and app.toml are up-to-date. The commands below don't take care of this for it's too user-specific. Though if you participated in the cronos upgrade and already copied the config files in the `/genesisd_config/` folder over or used the script back then, then you're good, else you should check the folder to see what the config files are supposed to look like. Do not forget to restore your moniker and any other settings you had if you end up using these pre-configured files._ #### Oneliner: From 7acbbe04abb2abf03144e426ab075d805b5670fa Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 23:04:01 +0200 Subject: [PATCH 16/23] Update README.md Signed-off-by: ZENODE --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d643020cae..57ba5752ea 100644 --- a/README.md +++ b/README.md @@ -39,16 +39,17 @@ Usage: genesisd.sh [moniker] ### Usage -- Initialization (new validators; generates a new key) +- **Initialization (new validators; generates a new key)** `sh genesisd.sh init $YOUR_NEW_NODE_NAME` -- Upgrading (existing validators; you already have an existing .genesisd folder and configuration) +- **Upgrading (existing validators; you already have an existing .genesisd folder and configuration)** `sh genesisd.sh upgrade` _--if you want a different node name you could use `sh genesisd.sh upgrade $YOUR_NEW_NODE_NAME`_ - + + _--more detailed guides for specific upgrades could be found in the [\/genesisd_docs](genesisd_docs/)-folder_

    From 42df272c46e24dcd5becaa14e307cc984f4a6da4 Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 23:05:56 +0200 Subject: [PATCH 17/23] Update README.md Signed-off-by: ZENODE --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 57ba5752ea..0e70ea37f6 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ Usage: genesisd.sh [moniker] #### Swap -Initializing a node uses quite a bit of memory. The script therefore automatically creates virtual memory (swap) to compensate for the amount it requires to start the node. Currently the script is set to automatically calculate how much RAM + Swap is available. Then, whether the user has enough disk space, creates additional swap to have a total of 150GB available RAM + Swap (Example: if 32GB RAM is unused and 30GB of swap is free, an additional swap of 88GB will be created). These swapfiles are formatted as `genesisd_swapfile_{number}` and are made persistent across reboots by adding a line to the `etc/fstab` file. See the bonus scripts for more info on how to properly remove them. +Initializing a node uses quite a bit of memory. The script therefore automatically creates virtual memory (swap) to compensate for the amount it requires to start the node. Currently the script is set to automatically calculate how much RAM + Swap is available. Then, whether the user has enough disk space, creates additional swap to have a total of 150GB available RAM + Swap (Example: if 32GB RAM is unused and 30GB of swap is free, an additional swap of 88GB will be created). These swapfiles are formatted as `genesisd_swapfile_{number}` and are made persistent across reboots by adding a line to the `etc/fstab` file. See the bonus scripts for more info on how to properly add or remove them. #### Backups From 605cafac2e59bf36ec7db9c857d8b4ab2d9a0abf Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 23:07:10 +0200 Subject: [PATCH 18/23] Update README.md Signed-off-by: ZENODE --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 0e70ea37f6..6299ba9385 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,8 @@ Usage: genesisd.sh [moniker] --no-start This prevents the genesisd service from starting at the end of the script (default: false) ``` +--- + ### Usage - **Initialization (new validators; generates a new key)** @@ -56,6 +58,8 @@ Usage: genesisd.sh [moniker] ☕ node init/upgrade time is 30-60min or a few tea cups...

    +--- + ### Information #### Swap From 6810fbe819a2e34cca2ab5871b01cb229a646e3e Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 23:08:38 +0200 Subject: [PATCH 19/23] Update README.md Signed-off-by: ZENODE --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 6299ba9385..d4d010aabe 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,6 @@ Usage: genesisd.sh [moniker] --no-start This prevents the genesisd service from starting at the end of the script (default: false) ``` ---- - ### Usage - **Initialization (new validators; generates a new key)** From 17499e5747fa092f4cc3c0f97e86075d6e2c56bd Mon Sep 17 00:00:00 2001 From: ZENODE Date: Thu, 14 Sep 2023 23:12:02 +0200 Subject: [PATCH 20/23] Update README.md Signed-off-by: ZENODE --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d4d010aabe..d62ce6089f 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ Since our state file is large this would mean that it will be around ~14GB every There are some extra scripts in the `genesisd_scripts` folder, which could be useful later down the line. -### - **Swap scripts** +### Swap scripts Since the node requires quite some memory usage, swapfiles are created when you run the genesisd.sh script. To alter these swap files we've included scripts to quickly add or remove genesisd_swapfiles. From 7e549967cc6ac0763bb4be6e5063471612fb9029 Mon Sep 17 00:00:00 2001 From: zenodeapp Date: Thu, 14 Sep 2023 23:46:53 +0200 Subject: [PATCH 21/23] Revert back to 29-2 --- genesisd.sh | 14 +++++----- ...UPGRADE_29-3.md => UPGRADE_29-2_CRONOS.md} | 28 +++++++++---------- 2 files changed, 20 insertions(+), 22 deletions(-) rename genesisd_docs/{CHAIN_UPGRADE_29-3.md => UPGRADE_29-2_CRONOS.md} (73%) diff --git a/genesisd.sh b/genesisd.sh index 81ca40b9d1..67bbede468 100644 --- a/genesisd.sh +++ b/genesisd.sh @@ -11,24 +11,24 @@ cat << "EOF" \______/ \_______/|__/ |__/ \_______/|_______/ |__/|_______/ |________/|______/ Welcome to the decentralized blockchain Renaissance, above money & beyond cryptocurrency! -This script upgrades genesis_29-2 (evmos) to genesis_29-3 (cronos) running under root user. +This script upgrades genesis_29-2 (evmos) to genesis_29-2 (cronos) running under root user. GENESIS L1 is a highly experimental decentralized project, provided AS IS, with NO WARRANTY. GENESIS L1 IS A NON COMMERCIAL OPEN DECENTRALIZED BLOCKCHAIN PROJECT RELATED TO SCIENCE AND ART THIS IS AN UPGRADE TO COSMOS SDK V0.46.15 BASED ON CRONOS RELEASE SOURCE CODE, THANK YOU! Mainnet EVM chain ID: 29 - Cosmos chain ID: genesis_29-3 + Cosmos chain ID: genesis_29-2 Blockchain utilitarian coin: L1 Min. coin unit: el1 1 L1 = 1 000 000 000 000 000 000 el1 Initial supply: 21 000 000 L1 - genesis_29-3 at the time of upgrade circulation: ~29 000 000 L1 + genesis_29-2 at the time of upgrade circulation: ~29 000 000 L1 Mint rate: < 20% annual Block target time: ~11s Binary name: genesisd genesis_29-1 start: Nov 30, 2021 genesis_29-2 (evmos) start: Apr 16, 2022 - genesis_29-3 (cronos) start: Aug 26, 2023 + genesis_29-2 (cronos) start: Aug 26, 2023 EOF @@ -226,7 +226,7 @@ ulimit -n 50000 #PONYSAY snap install ponysay -ponysay "Installing genesisd from source code with updated genesis_29-3 mainnet!" +ponysay "Installing genesisd from source code with updated genesis_29-2 mainnet!" sleep 5s ponysay "WARNING: cosmosvisor, evmosd processes will be killed and evmos, evmosd system services will be stopped with this script on the next step. If you have other blockchains running, you might want to delete those parts of the script!" sleep 20s @@ -259,7 +259,7 @@ cd rsync -r --verbose --exclude 'data' ./"$backup_dir"/ ./.genesisd/ # SETTING UP THE NEW chain-id in CONFIG -genesisd config chain-id genesis_29-3 +genesisd config chain-id genesis_29-2 # INIT MODE WILL CREATE A NEW KEY if [ "$1" = "init" ]; then @@ -274,7 +274,7 @@ if [ "$1" = "init" ]; then sleep 120s fi - genesisd init $moniker --chain-id genesis_29-3 + genesisd init $moniker --chain-id genesis_29-2 fi #IMPORTING GENESIS STATE diff --git a/genesisd_docs/CHAIN_UPGRADE_29-3.md b/genesisd_docs/UPGRADE_29-2_CRONOS.md similarity index 73% rename from genesisd_docs/CHAIN_UPGRADE_29-3.md rename to genesisd_docs/UPGRADE_29-2_CRONOS.md index 6af19d5793..119e2c79b1 100644 --- a/genesisd_docs/CHAIN_UPGRADE_29-3.md +++ b/genesisd_docs/UPGRADE_29-2_CRONOS.md @@ -1,13 +1,11 @@ -# Chain upgrade: genesis_29-3 +# Chain upgrade: genesis_29-2 (Cronos) -This readme is a guide on how to upgrade your node from genesis_29-2 to genesis_29-3 and what you should be paying attention to. +This readme is a guide on how to upgrade your node from genesis_29-2 (evmos) to genesis_29-2 (cronos) and what you should be paying attention to. **IMPORTANT:** Make sure you backup your keys before running the `genesisd.sh` script. Even if it is configured to make a backup of everything, manually doing one yourself is always wise in case anything goes wrong. Also, for those who come from genesis_29-2 (evmos), do note that this is a different repository than we used before. The old one was named `genesisd`, this one `genesisL1`. Thus don't skip the first steps if you haven't already git cloned the new repository. -Finally, the state file has changed again. Even if you already have the 14Gb state file, because we had to change the chain-id as well in this file (therefore you should not use the `--skip-state-download` flag). - --- ###

    1. I am new, I am not a validator yet, but would like to join 🎉

    @@ -59,7 +57,7 @@ cd ~ && git clone https://github.com/alpha-omega-labs/genesisL1.git && cd genesi #### Oneliner: ``` -cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesisL1.git && cd genesisL1 && sh genesisd.sh upgrade --reset-priv-val-state +cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesisL1.git && cd genesisL1 && sh genesisd.sh upgrade --skip-state-download ``` #### Or, step-by-step: @@ -68,24 +66,24 @@ cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesis 2. `rm -r genesisL1` 3. `git clone https://github.com/alpha-omega-labs/genesisL1.git` 4. `cd genesisL1` -5. `sh genesisd.sh upgrade --reset-priv-val-state` +5. `sh genesisd.sh upgrade --skip-state-download` - _in case you want to change your node's name, you could also run sh genesisd.sh upgrade --reset-priv-val-state and replace with a name of your choice._ + _in case you want to change your node's name, you could also run sh genesisd.sh upgrade --skip-state-download and replace with a name of your choice._ - _do not use the --skip-state-download flag, for reasons stated above._ + _--skip-state-download is not necessary but, as you already upgraded, you probably already have the 14GB genesis.json state file thus speeding up the process._ --- ###

    4. I am a validator and I HAVE upgraded to the 'cronos' version of GenesisL1, but prefer to upgrade manually 🤓

    -For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step guide. Important to know is that the state file changed again, so downloading this again. Also the chain-id changed from genesis_29-2 to genesis_29-3 and the priv_validator_state.json file needs to be reset ({"height": "0", "round": 0, "step": 0}). +For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step guide. _I do need to address that you should make sure that your config.toml and app.toml are up-to-date. The commands below don't take care of this for it's too user-specific. Though if you participated in the cronos upgrade and already copied the config files in the `/genesisd_config/` folder over or used the script back then, then you're good, else you should check the folder to see what the config files are supposed to look like. Do not forget to restore your moniker and any other settings you had if you end up using these pre-configured files._ #### Oneliner: ``` -cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesisL1.git && service genesisd stop && cd genesisL1 && go mod tidy && make install && genesisd config chain-id genesis_29-3 && cd ~/.genesisd/config && rm -r genesis.json && wget http://135.181.135.29/genesisd/genesis.json && genesisd tendermint unsafe-reset-all && service genesisd start +cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesisL1.git && service genesisd stop && cd genesisL1 && go mod tidy && make install && cd ~/.genesisd && cp ./data/priv_validator_state.json ./priv_validator_state.json && rm -r data && mkdir data && mv ./priv_validator_state.json ./data/priv_validator_state.json && service genesisd start ``` #### Or, step-by-step: @@ -97,9 +95,9 @@ cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesis 5. `cd genesisL1` 6. `go mod tidy` 7. `make install` -8. `genesisd config chain-id genesis_29-3` -9. `cd ~/.genesisd/config` -10. `rm -r genesis.json` -11. `wget http://135.181.135.29/genesisd/genesis.json` -12. `genesisd tendermint unsafe-reset-all` +8. `cd ~/.genesisd` +9. `cp ./data/priv_validator_state.json ./priv_validator_state.json` +10. `rm -r data` +11. `mkdir data` +12. `mv ./priv_validator_state.json ./data/priv_validator_state.json` 13. `service genesisd start` From ce628ec7363aa24857d1980c9c7d5d5ec74f2cb4 Mon Sep 17 00:00:00 2001 From: ZENODE Date: Fri, 15 Sep 2023 00:09:17 +0200 Subject: [PATCH 22/23] Update UPGRADE_29-2_CRONOS.md Signed-off-by: ZENODE --- genesisd_docs/UPGRADE_29-2_CRONOS.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/genesisd_docs/UPGRADE_29-2_CRONOS.md b/genesisd_docs/UPGRADE_29-2_CRONOS.md index 119e2c79b1..8d0ffa3773 100644 --- a/genesisd_docs/UPGRADE_29-2_CRONOS.md +++ b/genesisd_docs/UPGRADE_29-2_CRONOS.md @@ -76,14 +76,14 @@ cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesis ###

    4. I am a validator and I HAVE upgraded to the 'cronos' version of GenesisL1, but prefer to upgrade manually 🤓

    -For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step guide. +For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step guide. Important to know is that the `priv_validator_state.json` shouldn't date back to when we were at 29-2 (evmos), else you will not be able to participate properly in the consensus. Your `priv_validator_state.json`-file would then point to a block height that's, at the time of writing, in the future (probably to 6751398 or 6751399). If you're one of these people then you should skip the backup and restore of the `priv_validator_state.json`-file in the commands below. _I do need to address that you should make sure that your config.toml and app.toml are up-to-date. The commands below don't take care of this for it's too user-specific. Though if you participated in the cronos upgrade and already copied the config files in the `/genesisd_config/` folder over or used the script back then, then you're good, else you should check the folder to see what the config files are supposed to look like. Do not forget to restore your moniker and any other settings you had if you end up using these pre-configured files._ #### Oneliner: ``` -cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesisL1.git && service genesisd stop && cd genesisL1 && go mod tidy && make install && cd ~/.genesisd && cp ./data/priv_validator_state.json ./priv_validator_state.json && rm -r data && mkdir data && mv ./priv_validator_state.json ./data/priv_validator_state.json && service genesisd start +cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesisL1.git && service genesisd stop && cd genesisL1 && go mod tidy && make install && cd ~/.genesisd && cp ./data/priv_validator_state.json ./priv_validator_state.json && genesisd tendermint unsafe-reset-all && mv ./priv_validator_state.json ./data/priv_validator_state.json && service genesisd start ``` #### Or, step-by-step: @@ -97,7 +97,6 @@ cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesis 7. `make install` 8. `cd ~/.genesisd` 9. `cp ./data/priv_validator_state.json ./priv_validator_state.json` -10. `rm -r data` -11. `mkdir data` +10. `genesisd tendermint unsafe-reset-all` 12. `mv ./priv_validator_state.json ./data/priv_validator_state.json` 13. `service genesisd start` From 00d9f951c41cfa37951ee218643081410e829b46 Mon Sep 17 00:00:00 2001 From: ZENODE Date: Fri, 15 Sep 2023 00:31:18 +0200 Subject: [PATCH 23/23] Update UPGRADE_29-2_CRONOS.md Signed-off-by: ZENODE --- genesisd_docs/UPGRADE_29-2_CRONOS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/genesisd_docs/UPGRADE_29-2_CRONOS.md b/genesisd_docs/UPGRADE_29-2_CRONOS.md index 8d0ffa3773..9101acca56 100644 --- a/genesisd_docs/UPGRADE_29-2_CRONOS.md +++ b/genesisd_docs/UPGRADE_29-2_CRONOS.md @@ -78,7 +78,7 @@ cd ~ && rm -r genesisL1 && git clone https://github.com/alpha-omega-labs/genesis For advanced users only. You know who you are. Take note of what exactly happens in the oneliner or step-by-step guide. Important to know is that the `priv_validator_state.json` shouldn't date back to when we were at 29-2 (evmos), else you will not be able to participate properly in the consensus. Your `priv_validator_state.json`-file would then point to a block height that's, at the time of writing, in the future (probably to 6751398 or 6751399). If you're one of these people then you should skip the backup and restore of the `priv_validator_state.json`-file in the commands below. -_I do need to address that you should make sure that your config.toml and app.toml are up-to-date. The commands below don't take care of this for it's too user-specific. Though if you participated in the cronos upgrade and already copied the config files in the `/genesisd_config/` folder over or used the script back then, then you're good, else you should check the folder to see what the config files are supposed to look like. Do not forget to restore your moniker and any other settings you had if you end up using these pre-configured files._ +_The commands below don't take care of this for it's too user-specific, but make sure that your config.toml and app.toml are up-to-date. If you participated in the cronos upgrade and already copied over the config files in the `/genesisd_config/` folder or used the `genesisd.sh` script back then, then you're good, else you should check the folder to see what the config files are supposed to look like. Do not forget to restore your moniker and any other settings you had if you end up using these pre-configured files._ #### Oneliner: