forked from freshe4qa/lava
-
Notifications
You must be signed in to change notification settings - Fork 0
txloadman/lava
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
#!/bin/bash while true do # Logo echo -e '\e[40m\e[91m' echo -e ' ____ _ ' echo -e ' / ___|_ __ _ _ _ __ | |_ ___ _ __ ' echo -e '| | | __| | | | _ \| __/ _ \| _ \ ' echo -e '| |___| | | |_| | |_) | || (_) | | | | ' echo -e ' \____|_| \__ | __/ \__\___/|_| |_| ' echo -e ' |___/|_| ' echo -e ' _ _ ' echo -e ' / \ ___ __ _ __| | ___ _ __ ___ _ _ ' echo -e ' / _ \ / __/ _ |/ _ |/ _ \ _ _ \| | | |' echo -e ' / ___ \ (_| (_| | (_| | __/ | | | | | |_| |' echo -e '/_/ \_\___\__ _|\__ _|\___|_| |_| |_|\__ |' echo -e ' |___/ ' echo -e '\e[0m' sleep 2 # Menu PS3='Select an action: ' options=( "Install" "Create Wallet" "Create Validator" "Exit") select opt in "${options[@]}" do case $opt in "Install") echo "============================================================" echo "Install start" echo "============================================================" # set vars if [ ! $NODENAME ]; then read -p "Enter node name: " NODENAME echo 'export NODENAME='$NODENAME >> $HOME/.bash_profile fi if [ ! $WALLET ]; then echo "export WALLET=wallet" >> $HOME/.bash_profile fi echo "export LAVA_CHAIN_ID=lava-testnet-2" >> $HOME/.bash_profile source $HOME/.bash_profile # update sudo apt update && sudo apt upgrade -y # packages sudo apt install curl build-essential git wget jq make gcc tmux chrony -y # install go if ! [ -x "$(command -v go)" ]; then ver="1.20.5" && \ wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \ sudo rm -rf /usr/local/go && \ sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \ rm "go$ver.linux-amd64.tar.gz" && \ echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \ source $HOME/.bash_profile fi # download binary cd && rm -rf lava git clone https://github.com/lavanet/lava cd lava git checkout v1.0.1 make install # config lavad config chain-id $LAVA_CHAIN_ID lavad config keyring-backend test # init lavad init $NODENAME --chain-id $LAVA_CHAIN_ID # download genesis and addrbook curl -L https://snapshots-testnet.nodejumper.io/lava-testnet/genesis.json > $HOME/.lava/config/genesis.json curl -L https://snapshots-testnet.nodejumper.io/lava-testnet/addrbook.json > $HOME/.lava/config/addrbook.json # set minimum gas price sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.000000001ulava\"/" $HOME/.lava/config/app.toml # set peers and seeds SEEDS="" PEERS="[email protected]:26656,[email protected]:13656,[email protected]:26656,[email protected]:26656,[email protected]:60856" sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.lava/config/config.toml # config pruning pruning="custom" pruning_keep_recent="100" pruning_keep_every="0" pruning_interval="10" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.lava/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.lava/config/app.toml sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.lava/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.lava/config/app.toml # enable prometheus sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.lava/config/config.toml #config sed -i \ -e 's/timeout_commit = ".*"/timeout_commit = "30s"/g' \ -e 's/timeout_propose = ".*"/timeout_propose = "1s"/g' \ -e 's/timeout_precommit = ".*"/timeout_precommit = "1s"/g' \ -e 's/timeout_precommit_delta = ".*"/timeout_precommit_delta = "500ms"/g' \ -e 's/timeout_prevote = ".*"/timeout_prevote = "1s"/g' \ -e 's/timeout_prevote_delta = ".*"/timeout_prevote_delta = "500ms"/g' \ -e 's/timeout_propose_delta = ".*"/timeout_propose_delta = "500ms"/g' \ -e 's/skip_timeout_commit = ".*"/skip_timeout_commit = false/g' \ $HOME/.lava/config/config.toml # create service sudo tee /etc/systemd/system/lavad.service > /dev/null << EOF [Unit] Description=Lava node service After=network-online.target [Service] User=$USER ExecStart=$(which lavad) start Restart=on-failure RestartSec=10 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF lavad tendermint unsafe-reset-all --home $HOME/.lava --keep-addr-book curl https://snapshots-testnet.nodejumper.io/lava-testnet/lava-testnet_latest.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.lava # start service sudo systemctl daemon-reload sudo systemctl enable lavad sudo systemctl start lavad break ;; "Create Wallet") lavad keys add $WALLET echo "============================================================" echo "Save address and mnemonic" echo "============================================================" LAVA_WALLET_ADDRESS=$(lavad keys show $WALLET -a) LAVA_VALOPER_ADDRESS=$(lavad keys show $WALLET --bech val -a) echo 'export LAVA_WALLET_ADDRESS='${LAVA_WALLET_ADDRESS} >> $HOME/.bash_profile echo 'export LAVA_VALOPER_ADDRESS='${LAVA_VALOPER_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile break ;; "Create Validator") lavad tx staking create-validator \ --amount=1000000ulava \ --pubkey=$(lavad tendermint show-validator) \ --moniker=$NODENAME \ --chain-id=lava-testnet-2 \ --commission-rate=0.10 \ --commission-max-rate=0.20 \ --commission-max-change-rate=0.01 \ --min-self-delegation=1 \ --from=wallet \ --gas=auto \ -y break ;; "Exit") exit ;; *) echo "invalid option $REPLY";; esac done done
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Shell 100.0%