Skip to main content

Entangle

Minimum Specifications

SpecSize
CPU2
RAM8 GB
SSD200 GB

Install Dependencies

sudo apt -q update
sudo apt -qy install curl git jq lz4 build-essential
sudo apt -qy upgrade
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.21.3.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)

Clone Repo

git clone https://github.com/Entangle-Protocol/entangle-blockchain
cd entangle-blockchain

Install

make install

Add wallet / recover and export PrivKey

  • Add Wallet
New Wallet
entangled keys add wallet
Recover
entangled keys add wallet --recover
  • Export PrivKey
entangled keys unsafe-export-eth-key wallet
  • Import the PrivKey to metamask, then request faucet on discord

Setup

  • Init
entangled init YourNAME --chain-id entangle_33133-1
entangled config chain-id entangle_33133-1
  • Copy file
cp -f config/genesis.json $HOME/.entangled/config/
cp -f config/config.toml $HOME/.entangled/config/

Set minimum gas etc.

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0001aNGL\"/;" ~/.entangled/config/app.toml
external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:26656\"/" $HOME/.entangled/config/config.toml
peers="741cb77bbbea6c2ec1a5b343be5f9144f9ca7e08@167.235.14.83:14656,27211a3886000faf8f854112ef31d052e635c5d8@95.217.114.120:25656,7bff324a17426a00731f425ae29fe6ef05eebbac@213.239.217.52:33656"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.entangled/config/config.toml
seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $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 = 20/g' $HOME/.entangled/config/config.toml

Prunning

pruning="custom"
pruning_keep_recent="1000"
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

Indexer

indexer="kv" && \
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.entangled/config/config.toml
  • Create Service
sudo tee /etc/systemd/system/entangle.service > /dev/null << EOF
[Unit]
Description=Entangle Validator
Requires=network-online.target
After=network-online.target


[Service]
Type=exec
User=$USER
ExecStart=$(which entangled) start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Download Snapshot

cd $HOME
sudo systemctl stop entangle
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" ~/.entangled/config/config.toml
cp $HOME/.entangled/data/priv_validator_state.json $HOME/.entangled/priv_validator_state.json.backup
rm -rf $HOME/.entangled/data
curl -o - -L https://entangle.snapshot.stavr.tech/entagle/entagle-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.entangled --strip-components 2
mv $HOME/.entangled/priv_validator_state.json.backup $HOME/.entangled/data/priv_validator_state.json
wget -O $HOME/.entangled/config/addrbook.json "https://raw.githubusercontent.com/obajay/nodes-Guides/main/Projects/Entangle/addrbook.json"
sudo systemctl restart entangle

Run

sudo systemctl daemon-reload
sudo systemctl enable entangle.service
sudo systemctl start entangle.service && sudo journalctl -fu entangle -o cat
  • Check logs
sudo journalctl -fu entangle -o cat

Explorer

Register validator

  • After Sync
caution

Don't forgert to change YourNAME to your Name

entangled tx staking create-validator \
--amount="5000000000000000000aNGL" \
--pubkey=$(entangled tendermint show-validator) \
--moniker="YourNAME" \
--chain-id=entangle_33133-1 \
--commission-rate="0.10" \
--identity " " \
--website " " \
--details " " \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1" \
--gas=500000 \
--gas-prices="10aNGL" \
--from=wallet

Apply

Apply Here

Important things you need to backup

  1. MNEMONIC Pharse
  2. /.entangled/data/priv_validator_state.json file
danger

Delete nodes

sudo systemctl stop entangle
sudo systemctl disable entangle
rm /etc/systemd/system/entangle.service
sudo systemctl daemon-reload
cd $HOME
rm -rf entangle-blockchain
rm -rf .entangled
rm -rf $(which entangled)