Node Installation
Hardware requirements The following requirements are recommended for running ENTANGLE:
6 or more physical CPU cores
At least 1TB of SSD disk storage
At least 16GB of memory (RAM)
At least 500mbps network bandwidth
Manual Installation
# Update & install dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install clang pkg-config libssl-dev curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
# Set Firewall
sudo apt install -y ufw
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow ssh
sudo ufw enable
# Install Go
cd $HOME
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.21.4.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)
go version
# Set Vars
MONIKER=<YOUR_MONIKER_NAME_GOES_HERE>
echo "export MONIKER=$MONIKER" >> $HOME/.bash_profile
echo "export ENTANGLE_CHAIN_ID="entangle_33033-1"" >> $HOME/.bash_profile
echo "export ENTANGLE_PORT="5"" >> $HOME/.bash_profile
source $HOME/.bash_profile
# Download Binary
cd $HOME
rm -rf entangle-blockchain
git clone https://github.com/Entangle-Protocol/entangle-blockchain
cd entangle-blockchain
git checkout main
make install
# Config and Init App
entangled config node tcp://localhost:${ENTANGLE_PORT}657
entangled config keyring-backend os
entangled config chain-id $ENTANGLE_CHAIN_ID
entangled init $MONIKER --chain-id $ENTANGLE_CHAIN_ID
# Add Genesis File and Addrbook
wget -O $HOME/.entangled/config/genesis.json https://testnet-files.syanodes.my.id/entangle-m-genesis.json
wget -O $HOME/.entangled/config/addrbook.json https://testnet-files.syanodes.my.id/entangle-m-addrbook.json
#Configure Seeds and Peers
SEEDS=""
PEERS="[email protected]:26656,[email protected]:26656,d9e855c34efd86dcb024b8de363374f070955d20@[2a01:4f9:2a:79e::2]:32656,[email protected]:15656,[email protected]:27156,c85f120508d63834a7cab9abf766884d0135372e@[2a01:4f9:3081:4158::2]:31656,[email protected]:26656,7378259114db42b8b46fad4cc9f31d32a5419b60@[2a03:4000:60:56:1879:e1ff:fe07:89f5]:12656,135b64976feabeefd5776818c3fafe29c2bbc886@[2607:5300:203:b704::]:26656,[email protected]:26656,[email protected]:26656,c31e8d2f3427c05e83b6f06262d59374547eee90@[2a01:4f9:6a:4732::2]:22656,[email protected]:26656,[email protected]:33656,[email protected]:26656,[email protected]:36656,6de7cd16d8816a4c2a8a3344210e9634f17b97d8@[2a01:4f9:1a:b181::2]:10656,2899b5bbba96c4a99674ca780ad8bbc6179d5c94@[2a01:4f9:4a:2864::2]:11956,[email protected]:26656,10d0f0e10b12c37bf64f6eca08076ffaf9cb18ab@[2a01:4f9:3081:2ee2::2]:15656,17619aea4a13201bccf803a2bb7f44e387134f47@[2a01:4f8:262:1b2f::2]:21856,00495ccd54c09560ab2d2fe6638523418901786f@[2a01:4f9:3081:3aa3::2]:21856,8e682c52253e8d892e47b5e6cc0672e435301038@[2a01:4f8:261:2c1a::2]:4156,7030ba7898fe4b557e916ab7e13b006071d6f5c0@[2a01:4f9:5a:2248::2]:15656,858489814116c3011216bddfc35c60385040bb61@[2a01:4f8:10a:c0c::2]:26656,[email protected]:26656,0d57afd37f4f4f566c8359b1d4c5a439e2c7f009@[2a01:4f9:1a:ac89::2]:22656,cc8bf40df39533f1867141c8d99d62dc7f2a1867@[2a01:4f8:221:374c::2]:29656,122399866c25b888679904e99450b6ab86fbcc32@[2001:41d0:304:300::4f69]:26656,c3318235ce692b7d9abe0833faeba667d04b5f83@[2a01:4f8:2200:1275::2]:22656,1ea44942d500f9bd83df93dbdcac4f79f5f79901@[2a01:4f8:10a:d70::2]:10656,[email protected]:15656,[email protected]:26656,7aab5c045aeb072341cdd8e7b692d4d56553e5b7@[2a01:4f9:3a:2699::2]:34656,b0f28d454343a605c10f8f7bc4149d4764ee1e89@[2a01:4f9:3081:2f30::2]:15656,d2c05a9a98f7b47b91f21e6cb757cfcdf37239d0@[2a01:4f8:210:338f::2]:26656,6662a6b320b8f7520ebbc04e2891ee43227631a8@[2a01:4f9:3081:5155::2]:1550,a0eeae37a0e8c25dd98ffd84ff21504221a8d14f@[2a01:4f9:3080:1188::2]:38656,9b01145fc6fe490a59cbdceeee96678245ebeecf@[2a02:c206:2128:4299::1]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,990d17a2686b47fe4bcf885bfae3f29897a58a32@[2a01:4f9:6b:47e6::2]:26656,3e5001558765a6092d1284f3b5b24f6bd76a9433@[2a01:4f8:171:1d8::2]:26656,8a6be04c58c3e633f9d3d201fd03d23b6cfcb3d1@[2a01:4f9:3a:4156::2]:26656,addb29cd41f917faca1276f294751840757ff865@[2a01:4f8:241:528f::2]:22656,46a736eddfd1b068bb33e6be49f3a740b209a42d@[2a12:5940:18cb::2]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:27156,[email protected]:1550,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656"
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 = \"0aNGL\"/" $HOME/.entangled/config/app.toml
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.entangled/config/config.toml
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.entangled/config/config.toml
# Config Pruning
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="19"
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
# Set Custom Port
sed -i.bak -e "s%:1317%:${ENTANGLE_PORT}317%g;
s%:8080%:${ENTANGLE_PORT}080%g;
s%:9090%:${ENTANGLE_PORT}090%g;
s%:9091%:${ENTANGLE_PORT}091%g;
s%:8545%:${ENTANGLE_PORT}545%g;
s%:8546%:${ENTANGLE_PORT}546%g;
s%:6065%:${ENTANGLE_PORT}065%g" $HOME/.entangled/config/app.toml
sed -i.bak -e "s%:26658%:${ENTANGLE_PORT}658%g;
s%:26657%:${ENTANGLE_PORT}657%g;
s%:6060%:${ENTANGLE_PORT}060%g;
s%:26656%:${ENTANGLE_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${ENTANGLE_PORT}656\"%;
s%:26660%:${ENTANGLE_PORT}660%g" $HOME/.entangled/config/config.toml
# Set Service File
sudo tee /etc/systemd/system/entangled.service > /dev/null <<EOF
[Unit]
Description=entangle
After=network-online.target
[Service]
User=$USER
ExecStart=$(which entangled) start --home $HOME/.entangled --chain-id entangle_33033-1
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
# Enable and Start Service
sudo systemctl daemon-reload
sudo systemctl enable entangled
sudo systemctl start entangled
sudo journalctl -fu entangled -o cat
Auto Installation
wget https://snapshot.syanodes.my.id/auto/mainnet/entangle_auto && chmod +x entangle_auto && ./entangle_auto
Last updated