Skip to content

Commit 6326bc5

Browse files
committed
update deploy script
1 parent 5e5dc2d commit 6326bc5

File tree

1 file changed

+46
-25
lines changed

1 file changed

+46
-25
lines changed

init_validators.sh

Lines changed: 46 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
set -e
55

66
# Check arguments
7-
if [ "$#" -lt 4 ]; then
8-
echo "Usage: $0 <validator0_ip> <validator1_ip> <validator2_ip> <validator3_ip>"
9-
echo "Example: $0 1.2.3.4 5.6.7.8 9.10.11.12 13.14.15.16"
7+
if [ "$#" -lt 7 ]; then
8+
echo "Usage: $0 <validator0_ip> <validator1_ip> <validator2_ip> <validator3_ip> <validator4_ip> <validator5_ip> <validator6_ip>"
9+
echo "Example: $0 1.2.3.4 5.6.7.8 9.10.11.12 13.14.15.16 17.18.19.20 21.22.23.24 25.26.27.28"
1010
exit 1
1111
fi
1212

@@ -17,10 +17,10 @@ command -v jq >/dev/null 2>&1 || {
1717
}
1818

1919
# Set number of validators
20-
NUM_VALIDATORS=4
20+
NUM_VALIDATORS=7
2121

2222
# Store validator IPs in array
23-
declare -a VALIDATOR_IPS=($1 $2 $3 $4)
23+
declare -a VALIDATOR_IPS=($1 $2 $3 $4 $5 $6 $7)
2424
echo "All validator IPs: ${VALIDATOR_IPS[@]}"
2525
echo "Number of validators: $NUM_VALIDATORS"
2626

@@ -77,19 +77,49 @@ hetud init "node0" -o --chain-id="${CHAIN_ID}" --home "${HOME_PREFIX}"
7777
GENESIS="${HOME_PREFIX}/config/genesis.json"
7878
TMP_GENESIS="${HOME_PREFIX}/config/tmp_genesis.json"
7979

80+
# Create validator keys and add genesis accounts
81+
declare -a KEYS
82+
for i in $(seq 0 $((NUM_VALIDATORS - 1))); do
83+
KEYS[$i]="validator$i"
84+
echo "Creating validator key ${KEYS[$i]}..."
85+
hetud keys add "${KEYS[$i]}" \
86+
--keyring-backend="${KEYRING}" \
87+
--algo="${KEYALGO}" \
88+
--home "${HOME_PREFIX}"
89+
90+
echo "Adding genesis account for validator ${KEYS[$i]}..."
91+
hetud add-genesis-account "${KEYS[$i]}" "${GENESIS_BALANCE}${DENOM},${GENESIS_BALANCE}gas" \
92+
--keyring-backend="${KEYRING}" \
93+
--home "${HOME_PREFIX}"
94+
done
95+
8096
# Change parameter token denominations to ahetu
8197
jq '.app_state["staking"]["params"]["bond_denom"]="ahetu"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
8298
jq '.app_state["crisis"]["constant_fee"]["denom"]="ahetu"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
8399
jq '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]="ahetu"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
84100
jq '.app_state["evm"]["params"]["evm_denom"]="gas"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
85101
jq '.app_state["inflation"]["params"]["mint_denom"]="ahetu"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
86102

87-
88103
# Set gas limit in genesis
89-
# jq '.consensus_params["block"]["max_gas"]="10000000"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
104+
jq '.consensus_params["block"]["max_gas"]="10000000"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
105+
106+
# Set claims start time
107+
current_date=$(date -u +"%Y-%m-%dT%TZ")
108+
jq -r --arg current_date "$current_date" '.app_state["claims"]["params"]["airdrop_start_time"]=$current_date' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
90109

91-
# Set base fee in genesis
92-
# jq --arg fee "$BASEFEE" '.app_state["feemarket"]["params"]["base_fee"]=$fee' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
110+
# Set claims records for validator account
111+
amount_to_claim=10000
112+
claims_key="validator0"
113+
node_address=$(hetud keys show "$claims_key" --keyring-backend $KEYRING --home "$HOME_PREFIX" | grep "address" | cut -c12-)
114+
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"
115+
116+
# Set claims decay
117+
jq '.app_state["claims"]["params"]["duration_of_decay"]="1000000s"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
118+
jq '.app_state["claims"]["params"]["duration_until_decay"]="100000s"' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
119+
120+
# Claim module account:
121+
# 0xA61808Fe40fEb8B3433778BBC2ecECCAA47c8c47 || hetu15cvq3ljql6utxseh0zau9m8ve2j8erz89c94rj
122+
jq -r --arg amount_to_claim "$amount_to_claim" '.app_state["bank"]["balances"] += [{"address":"hetu15cvq3ljql6utxseh0zau9m8ve2j8erz89c94rj","coins":[{"denom":"ahetu", "amount":$amount_to_claim}, {"denom":"gas", "amount":$amount_to_claim}]}]' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
93123

94124
# Change proposal periods to pass within a reasonable time
95125
sed -i.bak 's/"max_deposit_period": "172800s"/"max_deposit_period": "30s"/g' "$GENESIS"
@@ -99,19 +129,10 @@ sed -i.bak 's/"expedited_voting_period": "86400s"/"expedited_voting_period": "15
99129
# Create gentx directory in primary node
100130
mkdir -p "${HOME_PREFIX}/config/gentx"
101131

102-
# Create validator keys and add genesis accounts
103-
for i in $(seq 0 $((NUM_VALIDATORS - 1))); do
104-
echo "Creating validator $i key..."
105-
hetud keys add "validator$i" \
106-
--keyring-backend="${KEYRING}" \
107-
--algo="${KEYALGO}" \
108-
--home "${HOME_PREFIX}"
109-
110-
echo "Adding genesis account for validator $i..."
111-
hetud add-genesis-account "validator$i" "${GENESIS_BALANCE}${DENOM}" \
112-
--keyring-backend="${KEYRING}" \
113-
--home "${HOME_PREFIX}"
114-
done
132+
# Calculate total supply including claims amount
133+
total_supply=$(echo "$NUM_VALIDATORS * $GENESIS_BALANCE + $amount_to_claim" | bc)
134+
jq -r --arg total_supply "$total_supply" '.app_state["bank"]["supply"][0]["amount"]=$total_supply' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
135+
jq -r --arg total_supply "$total_supply" '.app_state["bank"]["supply"][1]["amount"]=$total_supply' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS"
115136

116137
# Create clone directories, gentx, and get node IDs
117138
declare -a NODE_IDS
@@ -155,8 +176,8 @@ for i in $(seq 0 $((NUM_VALIDATORS - 1))); do
155176
-e "s/^#allow_duplicate_ip *=.*/allow_duplicate_ip = true/" \
156177
"$CONFIG_TOML"
157178

158-
# Set minimum gas price to 0
159-
sed -i.bak "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0${DENOM}\"/g" "$APP_TOML"
179+
# Set minimum gas price
180+
sed -i.bak 's/^minimum-gas-prices *=.*/minimum-gas-prices = "0.0001gas"/g' "$APP_TOML"
160181

161182
# Configure API and EVM settings in app.toml
162183
sed -i.bak \
@@ -166,7 +187,7 @@ for i in $(seq 0 $((NUM_VALIDATORS - 1))); do
166187
-e "/^\[json-rpc\]/,/^\[/s|^address *= *.*|address = \"0.0.0.0:${JSON_RPC_PORT}\"|" \
167188
-e "/^\[json-rpc\]/,/^\[/s|^ws-address *= *.*|ws-address = \"0.0.0.0:${WS_PORT}\"|" \
168189
-e "/^\[json-rpc\]/,/^\[/s|^enable *= *.*|enable = true|" \
169-
-e "/^\[json-rpc\]/,/^\[/s|^api *= *.*|api = \"eth,net,web3,txpool,debug\"|" \
190+
-e "/^\[json-rpc\]/,/^\[/s|^api *= *.*|api = \"eth,txpool,personal,net,debug,web3\"|" \
170191
-e 's/^json-rpc.enable-indexer = .*$/json-rpc.enable-indexer = true/' \
171192
-e 's/^evm.tracer = .*$/evm.tracer = ""/' \
172193
"$APP_TOML"

0 commit comments

Comments
 (0)