Installation Node
Hardware requirements
The following requirements are recommended for running :
- 4 or more physical CPU cores
- At least 200GB of SSD disk storage
- At least 8GB of memory (RAM)
- At least 100mbps network bandwidth
Install dependencies Required
sudo apt update && sudo apt upgrade -y && sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y
Install go
ver="1.20.4"
cd $HOME
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" >> ~/.bash_profile
source ~/.bash_profile
go version
Install binary
git clone https://github.com/Entangle-Protocol/entangle-blockchain
cd entangle-blockchain
make install
Initialize Node
Please change <MONIKER>
To your own Moniker.
entangled init $MONIKER --chain-id entangle_33133-1
entangled config chain-id entangle_33133-1
entangled config keyring-backend test
Download Genesis file and addrbook
- Genesis
wget -O $HOME/.entangled/config/genesis.json https://raw.githubusercontent.com/Entangle-Protocol/entangle-blockchain/main/config/genesis.json
- Addrbook
wget -O $HOME/.entangled/config/addrbook.json https://raw.githubusercontent.com/vinjan23/Testnet.Guide/main/Entangle/addrbook.json
Configure Seeds and Peers
SEEDS="76492a1356c14304bdd7ec946a6df0b57ba51fe2@35.175.80.14:26656"
sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/.entangled/config/config.toml
peers="76492a1356c14304bdd7ec946a6df0b57ba51fe2@35.175.80.14:26656,d34376a8eeb62f9849f2b199ea5748cbc317eb72@38.242.153.36:10656,94ab1432b3f3a4b81f7eb0e16e14924a805d8f05@65.109.154.182:15656,4c54c26655da3a4f6b25689ae1f8dd656e881990@162.19.69.193:26656,1fef0cad71ccb4a002dfbdd977af319fba0c3978@207.244.253.244:29656,9af19bfc29daf7e5535cf10d5f59c32406b69e05@213.133.100.172:27322,6147eaf50495d03e19dd09fb3610dea92bc7f89e@65.109.92.241:4156,87459b2f952b7f71bfff3a97a0504c603f03d02f@65.21.139.155:51656,4ae0f2c882a25414a8a24a5597c95f06f4115f07@144.76.236.211:23656,7bff324a17426a00731f425ae29fe6ef05eebbac@213.239.217.52:33656,a4138a69d236586b6d03269a8ffcf0f41d69a9b5@65.109.104.118:61556,d24ca66e664f7b689f217caa4c7464a7235e1094@213.239.207.175:63656,41c30eaa97a917b1b7cb228da5dfada6f06040d1@5.189.183.119:26656,c2a885dae42a0eb2714d5aeb1d3f28115e2d8e9c@144.91.99.255:36656,a6a6535a4bb72daa5420e215c42f31ae57ca4e90@65.108.72.253:29656"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.entangled/config/config.toml
sed -i 's/max_num_inbound_peers =.*/max_num_inbound_peers = 20/g' $HOME/.entangled/config/config.toml
sed -i 's/max_num_outbound_peers =.*/max_num_outbound_peers = 10/g' $HOME/.entangled/config/config.toml
sed -i -e "s/^seeds =./seeds = "$SEEDS"/; s/^persistent_peers =./persistent_peers = "$PEERS"/" $HOME/.entangled/config/config.toml
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.00aNGL\"|" $HOME/.entangled/config/app.toml
config pruning
pruning="nothing"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.entangled/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.entangled/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.entangled/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.entangled/config/app.toml
create service file and start node
Create service file
sudo tee /etc/systemd/system/entangled.service > /dev/null <<EOF
[Unit]
Description=entangle-blockchain
After=network-online.target
[Service]
User=$USER
ExecStart=$(which entangled) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
- Enable Service and Start Node
sudo systemctl daemon-reload
sudo systemctl enable entangled
sudo systemctl restart entangled
journalctl -fu entangled -o cat
- Check Sync ( If False than go to create validator )
entangled status 2>&1 | jq .SyncInfo
Create Validator
Heads up to the Cheat Sheets to create validator