From 6d6dcc92a689dadbce77bc6248a9a16fad1f34c3 Mon Sep 17 00:00:00 2001 From: MalteHerrmann Date: Tue, 29 Nov 2022 18:42:38 +0100 Subject: [PATCH 1/8] prompt user if HOMEDIR already exists --- local_node.sh | 202 ++++++++++++++++++++++++++------------------------ 1 file changed, 107 insertions(+), 95 deletions(-) diff --git a/local_node.sh b/local_node.sh index 66d5f528a6..ba807da2f6 100755 --- a/local_node.sh +++ b/local_node.sh @@ -34,108 +34,120 @@ set -e # Reinstall daemon make install -# Set client config -evmosd config keyring-backend $KEYRING --home "$HOMEDIR" -evmosd config chain-id $CHAINID --home "$HOMEDIR" - -# If keys exist they should be deleted -for KEY in "${KEYS[@]}"; do - evmosd keys add $KEY --keyring-backend $KEYRING --algo $KEYALGO --home "$HOMEDIR" -done - -# Set moniker and chain-id for Evmos (Moniker can be anything, chain-id must be an integer) -evmosd init $MONIKER -o --chain-id $CHAINID --home "$HOMEDIR" - -# Change parameter token denominations to aevmos -cat "$GENESIS" | jq '.app_state["staking"]["params"]["bond_denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" -cat "$GENESIS" | jq '.app_state["crisis"]["constant_fee"]["denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" -cat "$GENESIS" | jq '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" -cat "$GENESIS" | jq '.app_state["evm"]["params"]["evm_denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" -cat "$GENESIS" | jq '.app_state["inflation"]["params"]["mint_denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - -# Set gas limit in genesis -cat "$GENESIS" | jq '.consensus_params["block"]["max_gas"]="10000000"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - -# Set claims start time -current_date=$(date -u +"%Y-%m-%dT%TZ") -cat "$GENESIS" | jq -r --arg current_date "$current_date" '.app_state["claims"]["params"]["airdrop_start_time"]=$current_date' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - -# Set claims records for validator account -amount_to_claim=10000 -claims_key=${KEYS[0]} -node_address=$(evmosd keys show $claims_key --keyring-backend $KEYRING --home "$HOMEDIR" | grep "address" | cut -c12-) -cat "$GENESIS" | jq -r --arg node_address "$node_address" --arg amount_to_claim "$amount_to_claim" '.app_state["claims"]["claims_records"]=[{"initial_claimable_amount":$amount_to_claim, "actions_completed":[false, false, false, false],"address":$node_address}]' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - -# Set claims decay -cat "$GENESIS" | jq '.app_state["claims"]["params"]["duration_of_decay"]="1000000s"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" -cat "$GENESIS" | jq '.app_state["claims"]["params"]["duration_until_decay"]="100000s"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - -# Claim module account: -# 0xA61808Fe40fEb8B3433778BBC2ecECCAA47c8c47 || evmos15cvq3ljql6utxseh0zau9m8ve2j8erz89m5wkz -cat "$GENESIS" | jq -r --arg amount_to_claim "$amount_to_claim" '.app_state["bank"]["balances"] += [{"address":"evmos15cvq3ljql6utxseh0zau9m8ve2j8erz89m5wkz","coins":[{"denom":"aevmos", "amount":$amount_to_claim}]}]' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - -# disable produce empty block -if [[ "$OSTYPE" == "darwin"* ]]; then - sed -i '' 's/create_empty_blocks = true/create_empty_blocks = false/g' "$CONFIG" +if [ -d "$HOMEDIR" ]; then + echo "An existing folder at '$HOMEDIR' was found. Enter Y to delete this folder and restart a new blockchain with new keys. Enter anything else to start the existing blockchain." + read -r overwrite else - sed -i 's/create_empty_blocks = true/create_empty_blocks = false/g' "$CONFIG" + overwrite="Y" fi -if [[ $1 == "pending" ]]; then +if [ $overwrite == "Y" ]; then + # Remove the previous folder + rm -rf $HOMEDIR + + # Set client config + evmosd config keyring-backend $KEYRING --home "$HOMEDIR" + evmosd config chain-id $CHAINID --home "$HOMEDIR" + + # If keys exist they should be deleted + for KEY in "${KEYS[@]}"; do + evmosd keys add $KEY --keyring-backend $KEYRING --algo $KEYALGO --home "$HOMEDIR" + done + + # Set moniker and chain-id for Evmos (Moniker can be anything, chain-id must be an integer) + evmosd init $MONIKER -o --chain-id $CHAINID --home "$HOMEDIR" + + # Change parameter token denominations to aevmos + cat "$GENESIS" | jq '.app_state["staking"]["params"]["bond_denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + cat "$GENESIS" | jq '.app_state["crisis"]["constant_fee"]["denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + cat "$GENESIS" | jq '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + cat "$GENESIS" | jq '.app_state["evm"]["params"]["evm_denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + cat "$GENESIS" | jq '.app_state["inflation"]["params"]["mint_denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + + # Set gas limit in genesis + cat "$GENESIS" | jq '.consensus_params["block"]["max_gas"]="10000000"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + + # Set claims start time + current_date=$(date -u +"%Y-%m-%dT%TZ") + cat "$GENESIS" | jq -r --arg current_date "$current_date" '.app_state["claims"]["params"]["airdrop_start_time"]=$current_date' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + + # Set claims records for validator account + amount_to_claim=10000 + claims_key=${KEYS[0]} + node_address=$(evmosd keys show $claims_key --keyring-backend $KEYRING --home "$HOMEDIR" | grep "address" | cut -c12-) + cat "$GENESIS" | jq -r --arg node_address "$node_address" --arg amount_to_claim "$amount_to_claim" '.app_state["claims"]["claims_records"]=[{"initial_claimable_amount":$amount_to_claim, "actions_completed":[false, false, false, false],"address":$node_address}]' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + + # Set claims decay + cat "$GENESIS" | jq '.app_state["claims"]["params"]["duration_of_decay"]="1000000s"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + cat "$GENESIS" | jq '.app_state["claims"]["params"]["duration_until_decay"]="100000s"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + + # Claim module account: + # 0xA61808Fe40fEb8B3433778BBC2ecECCAA47c8c47 || evmos15cvq3ljql6utxseh0zau9m8ve2j8erz89m5wkz + cat "$GENESIS" | jq -r --arg amount_to_claim "$amount_to_claim" '.app_state["bank"]["balances"] += [{"address":"evmos15cvq3ljql6utxseh0zau9m8ve2j8erz89m5wkz","coins":[{"denom":"aevmos", "amount":$amount_to_claim}]}]' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + + # disable produce empty block if [[ "$OSTYPE" == "darwin"* ]]; then - sed -i '' 's/create_empty_blocks_interval = "0s"/create_empty_blocks_interval = "30s"/g' "$CONFIG" - sed -i '' 's/timeout_propose = "3s"/timeout_propose = "30s"/g' "$CONFIG" - sed -i '' 's/timeout_propose_delta = "500ms"/timeout_propose_delta = "5s"/g' "$CONFIG" - sed -i '' 's/timeout_prevote = "1s"/timeout_prevote = "10s"/g' "$CONFIG" - sed -i '' 's/timeout_prevote_delta = "500ms"/timeout_prevote_delta = "5s"/g' "$CONFIG" - sed -i '' 's/timeout_precommit = "1s"/timeout_precommit = "10s"/g' "$CONFIG" - sed -i '' 's/timeout_precommit_delta = "500ms"/timeout_precommit_delta = "5s"/g' "$CONFIG" - sed -i '' 's/timeout_commit = "5s"/timeout_commit = "150s"/g' "$CONFIG" - sed -i '' 's/timeout_broadcast_tx_commit = "10s"/timeout_broadcast_tx_commit = "150s"/g' "$CONFIG" + sed -i '' 's/create_empty_blocks = true/create_empty_blocks = false/g' "$CONFIG" else - sed -i 's/create_empty_blocks_interval = "0s"/create_empty_blocks_interval = "30s"/g' "$CONFIG" - sed -i 's/timeout_propose = "3s"/timeout_propose = "30s"/g' "$CONFIG" - sed -i 's/timeout_propose_delta = "500ms"/timeout_propose_delta = "5s"/g' "$CONFIG" - sed -i 's/timeout_prevote = "1s"/timeout_prevote = "10s"/g' "$CONFIG" - sed -i 's/timeout_prevote_delta = "500ms"/timeout_prevote_delta = "5s"/g' "$CONFIG" - sed -i 's/timeout_precommit = "1s"/timeout_precommit = "10s"/g' "$CONFIG" - sed -i 's/timeout_precommit_delta = "500ms"/timeout_precommit_delta = "5s"/g' "$CONFIG" - sed -i 's/timeout_commit = "5s"/timeout_commit = "150s"/g' "$CONFIG" - sed -i 's/timeout_broadcast_tx_commit = "10s"/timeout_broadcast_tx_commit = "150s"/g' "$CONFIG" + sed -i 's/create_empty_blocks = true/create_empty_blocks = false/g' "$CONFIG" fi -fi -# Allocate genesis accounts (cosmos formatted addresses) -for KEY in "${KEYS[@]}"; do - evmosd add-genesis-account $KEY 100000000000000000000000000aevmos --keyring-backend $KEYRING --home "$HOMEDIR" -done - -# Update total supply with claim values -validators_supply=$(cat "$GENESIS" | jq -r '.app_state["bank"]["supply"][0]["amount"]') -# Bc is required to add these big numbers -total_supply=$(echo "${#KEYS[@]} * 100000000000000000000000000 + $amount_to_claim" | bc) -cat "$GENESIS" | jq -r --arg total_supply "$total_supply" '.app_state["bank"]["supply"][0]["amount"]=$total_supply' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - -# Remove genesis transaction if it exists already -rm -rf "$HOMEDIR"/config/gentx - -# Sign genesis transaction -evmosd gentx ${KEYS[0]} 1000000000000000000000aevmos --keyring-backend $KEYRING --chain-id $CHAINID --home "$HOMEDIR" -## In case you want to create multiple validators at genesis -## 1. Back to `evmosd keys add` step, init more keys -## 2. Back to `evmosd add-genesis-account` step, add balance for those -## 3. Clone this ~/.evmosd home directory into some others, let's say `~/.clonedEvmosd` -## 4. Run `gentx` in each of those folders -## 5. Copy the `gentx-*` folders under `~/.clonedEvmosd/config/gentx/` folders into the original `~/.evmosd/config/gentx` - -# Collect genesis tx -evmosd collect-gentxs --home "$HOMEDIR" - -# Run this to ensure everything worked and that the genesis file is setup correctly -evmosd validate-genesis --home "$HOMEDIR" - -if [[ $1 == "pending" ]]; then - echo "pending mode is on, please wait for the first block committed." + if [[ $1 == "pending" ]]; then + if [[ "$OSTYPE" == "darwin"* ]]; then + sed -i '' 's/create_empty_blocks_interval = "0s"/create_empty_blocks_interval = "30s"/g' "$CONFIG" + sed -i '' 's/timeout_propose = "3s"/timeout_propose = "30s"/g' "$CONFIG" + sed -i '' 's/timeout_propose_delta = "500ms"/timeout_propose_delta = "5s"/g' "$CONFIG" + sed -i '' 's/timeout_prevote = "1s"/timeout_prevote = "10s"/g' "$CONFIG" + sed -i '' 's/timeout_prevote_delta = "500ms"/timeout_prevote_delta = "5s"/g' "$CONFIG" + sed -i '' 's/timeout_precommit = "1s"/timeout_precommit = "10s"/g' "$CONFIG" + sed -i '' 's/timeout_precommit_delta = "500ms"/timeout_precommit_delta = "5s"/g' "$CONFIG" + sed -i '' 's/timeout_commit = "5s"/timeout_commit = "150s"/g' "$CONFIG" + sed -i '' 's/timeout_broadcast_tx_commit = "10s"/timeout_broadcast_tx_commit = "150s"/g' "$CONFIG" + else + sed -i 's/create_empty_blocks_interval = "0s"/create_empty_blocks_interval = "30s"/g' "$CONFIG" + sed -i 's/timeout_propose = "3s"/timeout_propose = "30s"/g' "$CONFIG" + sed -i 's/timeout_propose_delta = "500ms"/timeout_propose_delta = "5s"/g' "$CONFIG" + sed -i 's/timeout_prevote = "1s"/timeout_prevote = "10s"/g' "$CONFIG" + sed -i 's/timeout_prevote_delta = "500ms"/timeout_prevote_delta = "5s"/g' "$CONFIG" + sed -i 's/timeout_precommit = "1s"/timeout_precommit = "10s"/g' "$CONFIG" + sed -i 's/timeout_precommit_delta = "500ms"/timeout_precommit_delta = "5s"/g' "$CONFIG" + sed -i 's/timeout_commit = "5s"/timeout_commit = "150s"/g' "$CONFIG" + sed -i 's/timeout_broadcast_tx_commit = "10s"/timeout_broadcast_tx_commit = "150s"/g' "$CONFIG" + fi + fi + + # Allocate genesis accounts (cosmos formatted addresses) + for KEY in "${KEYS[@]}"; do + evmosd add-genesis-account $KEY 100000000000000000000000000aevmos --keyring-backend $KEYRING --home "$HOMEDIR" + done + + # Update total supply with claim values + validators_supply=$(cat "$GENESIS" | jq -r '.app_state["bank"]["supply"][0]["amount"]') + # Bc is required to add these big numbers + total_supply=$(echo "${#KEYS[@]} * 100000000000000000000000000 + $amount_to_claim" | bc) + cat "$GENESIS" | jq -r --arg total_supply "$total_supply" '.app_state["bank"]["supply"][0]["amount"]=$total_supply' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + + # Remove genesis transaction if it exists already + rm -rf "$HOMEDIR"/config/gentx + + # Sign genesis transaction + evmosd gentx ${KEYS[0]} 1000000000000000000000aevmos --keyring-backend $KEYRING --chain-id $CHAINID --home "$HOMEDIR" + ## In case you want to create multiple validators at genesis + ## 1. Back to `evmosd keys add` step, init more keys + ## 2. Back to `evmosd add-genesis-account` step, add balance for those + ## 3. Clone this ~/.evmosd home directory into some others, let's say `~/.clonedEvmosd` + ## 4. Run `gentx` in each of those folders + ## 5. Copy the `gentx-*` folders under `~/.clonedEvmosd/config/gentx/` folders into the original `~/.evmosd/config/gentx` + + # Collect genesis tx + evmosd collect-gentxs --home "$HOMEDIR" + + # Run this to ensure everything worked and that the genesis file is setup correctly + evmosd validate-genesis --home "$HOMEDIR" + + if [[ $1 == "pending" ]]; then + echo "pending mode is on, please wait for the first block committed." + fi fi # Start the node (remove the --pruning=nothing flag if historical queries are not needed) From a17f40bb69d4381392bac663b8257240b10a5aba Mon Sep 17 00:00:00 2001 From: MalteHerrmann Date: Tue, 29 Nov 2022 18:48:26 +0100 Subject: [PATCH 2/8] remove unnecessary cat commands --- local_node.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/local_node.sh b/local_node.sh index ba807da2f6..0fac9c0fbf 100755 --- a/local_node.sh +++ b/local_node.sh @@ -58,32 +58,32 @@ if [ $overwrite == "Y" ]; then evmosd init $MONIKER -o --chain-id $CHAINID --home "$HOMEDIR" # Change parameter token denominations to aevmos - cat "$GENESIS" | jq '.app_state["staking"]["params"]["bond_denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - cat "$GENESIS" | jq '.app_state["crisis"]["constant_fee"]["denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - cat "$GENESIS" | jq '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - cat "$GENESIS" | jq '.app_state["evm"]["params"]["evm_denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - cat "$GENESIS" | jq '.app_state["inflation"]["params"]["mint_denom"]="aevmos"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq '.app_state["staking"]["params"]["bond_denom"]="aevmos"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq '.app_state["crisis"]["constant_fee"]["denom"]="aevmos"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]="aevmos"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq '.app_state["evm"]["params"]["evm_denom"]="aevmos"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq '.app_state["inflation"]["params"]["mint_denom"]="aevmos"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" # Set gas limit in genesis - cat "$GENESIS" | jq '.consensus_params["block"]["max_gas"]="10000000"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq '.consensus_params["block"]["max_gas"]="10000000"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" # Set claims start time current_date=$(date -u +"%Y-%m-%dT%TZ") - cat "$GENESIS" | jq -r --arg current_date "$current_date" '.app_state["claims"]["params"]["airdrop_start_time"]=$current_date' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq -r --arg current_date "$current_date" '.app_state["claims"]["params"]["airdrop_start_time"]=$current_date' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" # Set claims records for validator account amount_to_claim=10000 claims_key=${KEYS[0]} node_address=$(evmosd keys show $claims_key --keyring-backend $KEYRING --home "$HOMEDIR" | grep "address" | cut -c12-) - cat "$GENESIS" | jq -r --arg node_address "$node_address" --arg amount_to_claim "$amount_to_claim" '.app_state["claims"]["claims_records"]=[{"initial_claimable_amount":$amount_to_claim, "actions_completed":[false, false, false, false],"address":$node_address}]' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq -r --arg node_address "$node_address" --arg amount_to_claim "$amount_to_claim" '.app_state["claims"]["claims_records"]=[{"initial_claimable_amount":$amount_to_claim, "actions_completed":[false, false, false, false],"address":$node_address}]' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" # Set claims decay - cat "$GENESIS" | jq '.app_state["claims"]["params"]["duration_of_decay"]="1000000s"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - cat "$GENESIS" | jq '.app_state["claims"]["params"]["duration_until_decay"]="100000s"' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq '.app_state["claims"]["params"]["duration_of_decay"]="1000000s"' >"$TMP_GENESIS" "$GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq '.app_state["claims"]["params"]["duration_until_decay"]="100000s"' >"$TMP_GENESIS" "$GENESIS" && mv "$TMP_GENESIS" "$GENESIS" # Claim module account: # 0xA61808Fe40fEb8B3433778BBC2ecECCAA47c8c47 || evmos15cvq3ljql6utxseh0zau9m8ve2j8erz89m5wkz - cat "$GENESIS" | jq -r --arg amount_to_claim "$amount_to_claim" '.app_state["bank"]["balances"] += [{"address":"evmos15cvq3ljql6utxseh0zau9m8ve2j8erz89m5wkz","coins":[{"denom":"aevmos", "amount":$amount_to_claim}]}]' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq -r --arg amount_to_claim "$amount_to_claim" '.app_state["bank"]["balances"] += [{"address":"evmos15cvq3ljql6utxseh0zau9m8ve2j8erz89m5wkz","coins":[{"denom":"aevmos", "amount":$amount_to_claim}]}]' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" # disable produce empty block if [[ "$OSTYPE" == "darwin"* ]]; then @@ -125,7 +125,7 @@ if [ $overwrite == "Y" ]; then validators_supply=$(cat "$GENESIS" | jq -r '.app_state["bank"]["supply"][0]["amount"]') # Bc is required to add these big numbers total_supply=$(echo "${#KEYS[@]} * 100000000000000000000000000 + $amount_to_claim" | bc) - cat "$GENESIS" | jq -r --arg total_supply "$total_supply" '.app_state["bank"]["supply"][0]["amount"]=$total_supply' >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq -r --arg total_supply "$total_supply" '.app_state["bank"]["supply"][0]["amount"]=$total_supply' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" # Remove genesis transaction if it exists already rm -rf "$HOMEDIR"/config/gentx From 96ca5382c41d22cd6f3a7cebd31ceeacc4a8429b Mon Sep 17 00:00:00 2001 From: MalteHerrmann Date: Tue, 29 Nov 2022 18:48:45 +0100 Subject: [PATCH 3/8] remove unused variable --- local_node.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/local_node.sh b/local_node.sh index 0fac9c0fbf..cf74d37ab1 100755 --- a/local_node.sh +++ b/local_node.sh @@ -121,9 +121,7 @@ if [ $overwrite == "Y" ]; then evmosd add-genesis-account $KEY 100000000000000000000000000aevmos --keyring-backend $KEYRING --home "$HOMEDIR" done - # Update total supply with claim values - validators_supply=$(cat "$GENESIS" | jq -r '.app_state["bank"]["supply"][0]["amount"]') - # Bc is required to add these big numbers + # bc is required to add these big numbers total_supply=$(echo "${#KEYS[@]} * 100000000000000000000000000 + $amount_to_claim" | bc) jq -r --arg total_supply "$total_supply" '.app_state["bank"]["supply"][0]["amount"]=$total_supply' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" From d79c35f3e75b29b996fe68aec806404e6b9be44a Mon Sep 17 00:00:00 2001 From: MalteHerrmann Date: Tue, 29 Nov 2022 18:52:52 +0100 Subject: [PATCH 4/8] add double quotes around variable --- local_node.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/local_node.sh b/local_node.sh index cf74d37ab1..06dd557ccf 100755 --- a/local_node.sh +++ b/local_node.sh @@ -43,7 +43,7 @@ fi if [ $overwrite == "Y" ]; then # Remove the previous folder - rm -rf $HOMEDIR + rm -rf "$HOMEDIR" # Set client config evmosd config keyring-backend $KEYRING --home "$HOMEDIR" From f0d6d9e488808f174162ab717700b7b973304bdc Mon Sep 17 00:00:00 2001 From: MalteHerrmann Date: Wed, 30 Nov 2022 12:28:46 +0100 Subject: [PATCH 5/8] address review comments --- local_node.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/local_node.sh b/local_node.sh index 06dd557ccf..0b6a996bd5 100755 --- a/local_node.sh +++ b/local_node.sh @@ -35,13 +35,13 @@ set -e make install if [ -d "$HOMEDIR" ]; then - echo "An existing folder at '$HOMEDIR' was found. Enter Y to delete this folder and restart a new blockchain with new keys. Enter anything else to start the existing blockchain." + printf "\nAn existing folder at '%s' was found. Enter y or Y to delete this folder and restart a new blockchain with new keys. Enter anything else to start the existing blockchain.\n" "$HOMEDIR" read -r overwrite else overwrite="Y" fi -if [ $overwrite == "Y" ]; then +if [[ $overwrite == "y" || $overwrite == "Y" ]]; then # Remove the previous folder rm -rf "$HOMEDIR" From 6343097e76b5086f0c4b590231e79d1bfe481ce6 Mon Sep 17 00:00:00 2001 From: MalteHerrmann Date: Wed, 30 Nov 2022 12:31:11 +0100 Subject: [PATCH 6/8] remove command to delete the gentx folder as it is unnecessary --- local_node.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/local_node.sh b/local_node.sh index 0b6a996bd5..70e706786b 100755 --- a/local_node.sh +++ b/local_node.sh @@ -125,9 +125,6 @@ if [[ $overwrite == "y" || $overwrite == "Y" ]]; then total_supply=$(echo "${#KEYS[@]} * 100000000000000000000000000 + $amount_to_claim" | bc) jq -r --arg total_supply "$total_supply" '.app_state["bank"]["supply"][0]["amount"]=$total_supply' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - # Remove genesis transaction if it exists already - rm -rf "$HOMEDIR"/config/gentx - # Sign genesis transaction evmosd gentx ${KEYS[0]} 1000000000000000000000aevmos --keyring-backend $KEYRING --chain-id $CHAINID --home "$HOMEDIR" ## In case you want to create multiple validators at genesis From 5e6559585b9dcaef0cfafbde51ef5408c8ea71c5 Mon Sep 17 00:00:00 2001 From: MalteHerrmann Date: Wed, 30 Nov 2022 12:34:43 +0100 Subject: [PATCH 7/8] add minor doc comments --- local_node.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/local_node.sh b/local_node.sh index 70e706786b..a67e1c7d08 100755 --- a/local_node.sh +++ b/local_node.sh @@ -34,6 +34,7 @@ set -e # Reinstall daemon make install +# User prompt if an existing local node configuration is found. if [ -d "$HOMEDIR" ]; then printf "\nAn existing folder at '%s' was found. Enter y or Y to delete this folder and restart a new blockchain with new keys. Enter anything else to start the existing blockchain.\n" "$HOMEDIR" read -r overwrite @@ -41,6 +42,7 @@ else overwrite="Y" fi +# Setup local node if overwrite is set to Yes, otherwise skip setup if [[ $overwrite == "y" || $overwrite == "Y" ]]; then # Remove the previous folder rm -rf "$HOMEDIR" From 5355b34b99ac84bdcb5f751f2f015fbdd1f57ded Mon Sep 17 00:00:00 2001 From: MalteHerrmann Date: Wed, 30 Nov 2022 12:46:44 +0100 Subject: [PATCH 8/8] change user prompt to check overwrite --- local_node.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/local_node.sh b/local_node.sh index a67e1c7d08..78d3037122 100755 --- a/local_node.sh +++ b/local_node.sh @@ -36,7 +36,8 @@ make install # User prompt if an existing local node configuration is found. if [ -d "$HOMEDIR" ]; then - printf "\nAn existing folder at '%s' was found. Enter y or Y to delete this folder and restart a new blockchain with new keys. Enter anything else to start the existing blockchain.\n" "$HOMEDIR" + printf "\nAn existing folder at '%s' was found. You can choose to delete this folder and start a new local node with new keys from genesis. When declined, the existing local node is started. \n" "$HOMEDIR" + echo "Overwrite the existing configuration and start a new local node? [y/n]" read -r overwrite else overwrite="Y"