Auto Install:
curl https://revonode.xyz/sc/entrypoint | bash
Manual Install:
Server preparation
- Updating packages
sudo apt update && sudo apt upgrade -y
- Install developer tools and necessary packages
sudo apt install curl build-essential pkg-config libssl-dev git wget jq make gcc tmux chrony -y
- Installing GO
ver="1.20"
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
go version
Node installation
- Clone the project repository with the node, go to the project folder and collect the binary files
cd $HOME
wget https://github.com/entrypoint-zone/testnets/releases/download/v1.2.0/entrypointd-1.2.0-linux-amd64 -O entrypointd
sudo chmod +x entrypointd
sudo mv entrypointd /usr/local/bin
- Checking the version
entrypointd version
#v1.2.0
- Creating Variables
MONIKER_ENTRYPOINT=type in your name
CHAIN_ID_ENTRYPOINT=mantrachain-1
PORT_ENTRYPOINT=47
- Save variables, reload .bash_profile and check variable values
echo "export MONIKER_ENTRYPOINT="${MONIKER_ENTRYPOINT}"" >> $HOME/.bash_profile
echo "export CHAIN_ID_ENTRYPOINT="${CHAIN_ID_ENTRYPOINT}"" >> $HOME/.bash_profile
echo "export PORT_ENTRYPOINT="${PORT_ENTRYPOINT}"" >> $HOME/.bash_profile
source $HOME/.bash_profile
echo -e "\nmoniker_ENTRYPOINT > ${MONIKER_ENTRYPOINT}.\n"
echo -e "\nchain_id_ENTRYPOINT > ${CHAIN_ID_ENTRYPOINT}.\n"
echo -e "\nport_ENTRYPOINT > ${PORT_ENTRYPOINT}.\n"
- Setting up the config
entrypointd config chain-id mantrachain-1
entrypointd config keyring-backend test
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0uaum\"/" $HOME/.entrypoint/config/app.toml
- Initialize the node
entrypointd init $MONIKER_ENTRYPOINT --chain-id $CHAIN_ID_ENTRYPOINT
- Loading the genesis file and address book
curl -Ls https://snapshots.indonode.net/entrypoint/genesis.json > $HOME/.entrypoint/config/genesis.json
curl -Ls https://snapshots.indonode.net/entrypoint/addrbook.json > $HOME/.entrypoint/config/addrbook.json
- Adding seeds and peers
PEERS="$(curl -sS https://rpc.entrypoint-t.indonode.net/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.entrypoint/config/config.toml
- Setting up pruning
PRUNING="custom"
PRUNING_KEEP_RECENT="100"
PRUNING_INTERVAL="19"
sed -i -e "s/^pruning *=.*/pruning = \"$PRUNING\"/" $HOME/.entrypoint/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \
\"$PRUNING_KEEP_RECENT\"/" $HOME/.entrypoint/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \
\"$PRUNING_INTERVAL\"/" $HOME/.entrypoint/config/app.toml
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.entrypoint/config/config.toml
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.entrypoint/config/config.toml
- Create a service file
sudo tee /etc/systemd/system/entrypointd.service > /dev/null <<EOF
[Unit]
Description=entrypointd testnet node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which entrypointd) start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
- Start the service and check the logs
sudo systemctl daemon-reload && \
sudo systemctl enable entrypointd && \
sudo systemctl restart entrypointd && \
sudo journalctl -u entrypointd -f -o cat
- We are waiting for the end of synchronization, you can check the synchronization with the command
entrypointd status 2>&1 | jq .SyncInfo
If the output shows false, the sync is complete.
Creating a wallet and validator
- Create a wallet
entrypointd keys add $MONIKER_ENTRYPOINT
Save the mnemonic phrase in a safe place!
If you participated in previous testnets, restore the wallet with the command and enter the mnemonic phrase
entrypointd keys add $MONIKER_ENTRYPOINT --recover
- Create a variable with the address of the wallet and validator
WALLET_ENTRYPOINT=$(entrypointd keys show $MONIKER_ENTRYPOINT -a)
VALOPER_ENTRYPOINT=$(entrypointd keys show $MONIKER_ENTRYPOINT --bech val -a)
echo "export WALLET_ENTRYPOINT="${WALLET_ENTRYPOINT}"" >> $HOME/.bash_profile
echo "export VALOPER_ENTRYPOINT="${VALOPER_ENTRYPOINT}"" >> $HOME/.bash_profile
source $HOME/.bash_profile
echo -e "\nwallet_ENTRYPOINT > ${WALLET_ENTRYPOINT}.\n"
echo -e "\nvaloper_ENTRYPOINT > ${VALOPER_ENTRYPOINT}.\n"
- Checking your balance
entrypointd q bank balances $WALLET_ENTRYPOINT
- After the synchronization is completed and the wallet is replenished, we create a validator
entrypointd tx staking create-validator \
--amount 1000000uentry \
--pubkey $(entrypointd tendermint show-validator) \
--moniker "MONIKER" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL" \
--chain-id entrypoint-pubtest-2 \
--commission-rate="0.05" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation "1" \
--gas-prices="0.01ibc/8A138BC76D0FB2665F8937EC2BF01B9F6A714F6127221A0E155106A45E09BCC5" \
--gas="auto" \
--gas-adjustment="1.5" \
--from wallet \
-y
Deleting a node
- Before deleting a node, make sure that the files from the ~/.entrypointd/config directory are saved To remove a node, use the following commands
sudo systemctl stop entrypointd
sudo systemctl disable entrypointd
sudo rm -rf $HOME/.entrypoint
sudo rm -rf /etc/systemd/system/entrypointd.service
sudo rm -rf /usr/local/bin/entrypointd
sudo systemctl daemon-reload