Installation

Prerequiretes

Hardware
Minimun Spesification

CPU

8 Cores

RAM

16 GB

Disk

100GB SSD

Installation

Download binary file

FILEID=1OCuxp-lwTY8fiKepmH72KqaatCUUjUdp
FILENAME=selfchaind
CONFIRM=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate \
"https://docs.google.com/uc?export=download&id=$FILEID" -O- | \
sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1/p')
wget --load-cookies /tmp/cookies.txt \
"https://docs.google.com/uc?export=download&confirm=${CONFIRM}&id=${FILEID}" \
-O ${FILENAME}
rm -f /tmp/cookies.txt

Verify binary file

chmod +x selfchaind
sudo mv selfchaind /usr/local/bin/selfchaind
selfchaind version

Initialize the node

selfchaind init <your-name> --chain-id self-1

Download genesis

FILEID=1ren5sn8fedicFw9h8FnTEHNI55XBi0hg
FILENAME=$HOME/.selfchain/config/genesis.json
CONFIRM=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate \
"https://docs.google.com/uc?export=download&id=$FILEID" -O- | \
sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1/p')
wget --load-cookies /tmp/cookies.txt \
"https://docs.google.com/uc?export=download&confirm=${CONFIRM}&id=${FILEID}" \
-O ${FILENAME}
rm -f /tmp/cookies.txt

Download Addrbook

FILEID=1QAP4W7vEzVqahoI5V6uFOyhsXBufafmE
FILENAME=$HOME/.selfchain/config/addrbook.json
CONFIRM=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate \
"https://docs.google.com/uc?export=download&id=$FILEID" -O- | \
sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1/p')
wget --load-cookies /tmp/cookies.txt \
"https://docs.google.com/uc?export=download&confirm=${CONFIRM}&id=${FILEID}" \
-O ${FILENAME}
rm -f /tmp/cookies.txt

Configure Seeds and Peers

PEERS=$(curl -sS https://rpc-selfchain.provewithryd.xyz/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/.selfchain/config/config.toml

Custumize Pruning

sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.selfchain/config/app.toml 
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.selfchain/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"20\"/" $HOME/.selfchain/config/app.toml

Set Minumum Gas & Disable Indexer

sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"1uslf\"|" $HOME/.selfchain/config/app.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.selfchain/config/config.toml

Create Systemd Services

tee /etc/systemd/system/selfchaind.service > /dev/null <<EOF
[Unit]
Description=Selfchain Mainnet Node
After=network-online.target

[Service]
User=root
WorkingDirectory=/root/.selfchain
ExecStart=/usr/local/bin/selfchaind start --home /root/.selfchain
Restart=on-failure
RestartSec=5
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Enable and Start Services

systemctl daemon-reexec
systemctl daemon-reload
systemctl enable selfchaind.service
systemctl start selfchaind.service

Last updated