# Entrypoint

Website: <https://entrypoint.zone/>&#x20;

Twitter: <https://twitter.com/entrypointzone>&#x20;

Telegram: <https://t.me/entrypointzone>&#x20;

Docs: <https://docs.entrypoint.zone/>

Discord: <https://discord.gg/36CtT57fUz>

<figure><img src="https://2585830168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRzXvi3emVKzTi94K7StD%2Fuploads%2FQYXiXop49hifCRE91LC9%2Fentrypoint-validator.PNG?alt=media&#x26;token=8cc6afa8-9e86-47d4-81fc-1dabd1a7bb0e" alt=""><figcaption><p><strong>NodeSync_Top on Entrypoint</strong></p></figcaption></figure>

## **Minimum hardware requirement**

4 Cores, 8G Ram, 200G SSD, Ubuntu 22.04

## 1. Auto Install&#x20;

```
sudo apt install curl -y && curl -sO https://nodesync.top/entrypoint_auto && chmod +x entrypoint_auto && bash entrypoint_auto
```

Join Discord and DM for admin "**Miguel | Simply Staking**" send token testnet if you want to join as a validator

## 2. Manual Install

### Install Dependencies

```
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
```

### Install 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

```
cd $HOME
wget https://github.com/entrypoint-zone/testnets/releases/download/v1.3.0/entrypointd-1.3.0-linux-amd64 -O entrypointd
sudo chmod +x entrypointd
sudo mv entrypointd /usr/local/bin
entrypointd version
```

```
entrypointd config chain-id entrypoint-pubtest-2
entrypointd config keyring-backend test
```

```
# You can change "MyNode" to anything you like
entrypointd init MyNode --chain-id entrypoint-pubtest-2
```

```
# Add Genesis File and Addrbook
wget -O $HOME/.entrypoint/config/genesis.json https://testnet-files.itrocket.net/entrypoint/genesis.json
wget -O $HOME/.entrypoint/config/addrbook.json https://testnet-files.itrocket.net/entrypoint/addrbook.json

#Configure 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


# Set Pruning, Enable Prometheus, Gas Prices, and Indexer
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
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.01ibc/8A138BC76D0FB2665F8937EC2BF01B9F6A714F6127221A0E155106A45E09BCC5\"|" $HOME/.entrypoint/config/app.toml
```

```
# Set 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
sudo systemctl daemon-reload
sudo systemctl enable entrypointd
```

```
# Download Snapshot for fast sync
entrypointd tendermint unsafe-reset-all --home $HOME/.entrypoint
if curl -s --head curl https://testnet-files.itrocket.net/entrypoint/snap_entrypoint.tar.lz4 | head -n 1 | grep "200" > /dev/null; then
  curl https://testnet-files.itrocket.net/entrypoint/snap_entrypoint.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.entrypoint
    else
  echo no have snap
fi

# Start the Node
sudo systemctl restart entrypointd
sudo journalctl -fu entrypointd -o cat
```

## 3. Cheat Sheet

### Wallet

Add new key

```
entrypointd keys add wallet
```

Recover existing key

```
entrypointd keys add wallet --recover
```

Query Wallet Balance

```
entrypointd q bank balances $(entrypointd keys show wallet -a)
```

### Validator Management

#### Create Validator

Change your info:

\--moniker "**MONIKER**"\
\--identity="**YOUR\_KEYBASE\_ID**"\
\--details="**YOUR\_DETAILS**"\
\--website="**YOUR\_WEBSITE\_URL**" \\

```
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
```

#### Edit Validator

```
entrypointd tx staking edit-validator \
--new-moniker="MONIKER" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL" \
--chain-id entrypoint-pubtest-2 \
--commission-rate=0.05 \
--gas-prices="0.01ibc/8A138BC76D0FB2665F8937EC2BF01B9F6A714F6127221A0E155106A45E09BCC5" \
--gas="auto" \
--gas-adjustment="1.5" \
--from wallet \
-y
```

#### Unjail Validator

```
entrypointd tx slashing unjail --from wallet --chain-id entrypoint-pubtest-2 --gas-prices=0.01ibc/8A138BC76D0FB2665F8937EC2BF01B9F6A714F6127221A0E155106A45E09BCC5 --gas-adjustment 1.5 --gas auto -y 
```

#### Withdraw rewards from all validators

```
entrypointd  tx distribution withdraw-all-rewards --from wallet --chain-id entrypoint-pubtest-2 --gas-prices=0.01ibc/8A138BC76D0FB2665F8937EC2BF01B9F6A714F6127221A0E155106A45E09BCC5 --gas-adjustment 1.5 --gas auto -y 
```

#### Withdraw comission and rewards from your validator

```
entrypointd tx distribution withdraw-rewards $(entrypointd keys show wallet --bech val -a) --commission --from wallet --chain-id entrypoint-pubtest-2 --gas-prices=0.01ibc/8A138BC76D0FB2665F8937EC2BF01B9F6A714F6127221A0E155106A45E09BCC5 --gas-adjustment 1.5 --gas auto -y 
```

#### Delegate to your validator

```
entrypointd tx staking delegate $(entrypointd keys show wallet --bech val -a) 1000000uentry --from wallet --chain-id entrypoint-pubtest-2 --gas-prices=0.01ibc/8A138BC76D0FB2665F8937EC2BF01B9F6A714F6127221A0E155106A45E09BCC5 --gas-adjustment 1.5 --gas auto -y 
```

#### Get sync status

```
entrypointd status 2>&1 | jq .SyncInfo.catching_up
```

### Services Management

```
# Reload Service
sudo systemctl daemon-reload

# Enable Service
sudo systemctl enable entrypointd

# Disable Service
sudo systemctl disable entrypointd

# Start Service
sudo systemctl start entrypointd

# Stop Service
sudo systemctl stop entrypointd

# Restart Service
sudo systemctl restart entrypointd

# Check Service Status
sudo systemctl status entrypointd

# Check Service Logs
sudo journalctl -u entrypointd -f --no-hostname -o cat
```

## 4. Backup Validator

<mark style="color:red;">**Important**</mark>

```
cat $HOME/.entrypoint/config/priv_validator_key.json
```

Save all them (file json)

## Upgrade version v1.3.0

```
 sudo apt install curl && source <(curl -s https://nodesync.top/entrypoint_upgrade)
```
