Installation
Chain ID
Version
Custom Port
# install dependencies, if needed
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, if needed
cd $HOME
VER="1.21.3"
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"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin
# set vars
echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="test"" >> $HOME/.bash_profile
echo "export XRPL_CHAIN_ID="xrplevm_1449000-1"" >> $HOME/.bash_profile
echo "export XRPL_PORT="24"" >> $HOME/.bash_profile
source $HOME/.bash_profile
# download binary
cd $HOME
rm -rf xrp
git clone https://github.com/xrplevm/node.git
cd node
git checkout v6.0.0
make install
# config and init app
exrpd config set client chain-id $XRPL_CHAIN_ID
exrpd init $MONIKER --chain-id $XRPL_CHAIN_ID
sed -i -e "s|^node *=.*|node = \"tcp://localhost:${XRPL_PORT}657\"|" $HOME/.exrpd/config/client.toml
# download genesis and addrbook
wget -O $HOME/.exrpd/config/genesis.json https://server-2.itrocket.net/testnet/xrplevm/genesis.json
wget -O $HOME/.exrpd/config/addrbook.json https://server-2.itrocket.net/testnet/xrplevm/addrbook.json
# set seeds and peers
SEEDS="6a271a9b7d07393a1521b1c7386a9fa9147a1762@xrplevm-testnet-seed.itrocket.net:16656"
PEERS="7acc7bf700acfc04705538a823dc0ac3567392b5@xrp-testnet-peer.monkeylabs.me:24656,166f7e48e1c756cc663fee5be96ab2bbdb4db970@xrplevm-testnet-peer.itrocket.net:13656,a4f2d903cebf5bc83fcb66fbda0af5cb922a6436@135.181.139.249:47656,de2117667b79d2e89aa9dd7b97b9f34c923692a1@94.130.23.254:30056,b01a918af85f90d38dda24238500fc5573f9145a@207.180.222.90:26656,5998f89c7549ec10672bf16a4d5b90786e856393@195.3.223.73:22656,3445cd5447b3d1993f0c4235a74057a11950f52c@192.3.6.118:26656,2d14b84e5e2f1784b8e942216a330df05cecd137@152.53.49.146:13656,6c5b34685a0c1956bde097914e42bc537f5ca5c7@79.137.70.143:26646,e8b19c2f802327f42da554f099aab959611c3e66@144.76.112.58:19656,72d6ee0a449bcd3d70f7f4807be526a536c45398@88.99.137.138:19656,24b71f58417414fa1bd21c788a0a85a98f49e7f9@162.55.181.91:26656"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*seeds *=.*/seeds = \"$SEEDS\"/}" \
-e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.exrpd/config/config.toml
# set custom ports in app.toml
sed -i.bak -e "s%:1317%:${XRPL_PORT}317%g;
s%:8080%:${XRPL_PORT}080%g;
s%:9090%:${XRPL_PORT}090%g;
s%:9091%:${XRPL_PORT}091%g;
s%:8545%:${XRPL_PORT}545%g;
s%:8546%:${XRPL_PORT}546%g;
s%:6065%:${XRPL_PORT}065%g" $HOME/.exrpd/config/app.toml
# set custom ports in config.toml file
sed -i.bak -e "s%:26658%:${XRPL_PORT}658%g;
s%:26657%:${XRPL_PORT}657%g;
s%:6060%:${XRPL_PORT}060%g;
s%:26656%:${XRPL_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${XRPL_PORT}656\"%;
s%:26660%:${XRPL_PORT}660%g" $HOME/.exrpd/config/config.toml
# config pruning
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.exrpd/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.exrpd/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" $HOME/.exrpd/config/app.toml
# set minimum gas price, enable prometheus and disable indexing
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0axrp"|g' $HOME/.exrpd/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.exrpd/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.exrpd/config/config.toml
# create service file
sudo tee /etc/systemd/system/exrpd.service > /dev/null <<EOF
[Unit]
Description=XRPL EVM node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.exrpd
ExecStart=$(which exrpd) start --home $HOME/.exrpd
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
# reset and download snapshot
exrpd tendermint unsafe-reset-all --home $HOME/.exrpd
if curl -s --head curl https://server-2.itrocket.net/testnet/xrplevm/xrplevm_2025-03-20_477281_snap.tar.lz4 | head -n 1 | grep "200" > /dev/null; then
curl https://server-2.itrocket.net/testnet/xrplevm/xrplevm_2025-03-20_477281_snap.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.exrpd
else
echo "no snapshot found"
fi
# enable and start service
sudo systemctl daemon-reload
sudo systemctl enable exrpd
sudo systemctl restart exrpd && sudo journalctl -u exrpd -fo catAutomatic Installation
Create wallet
Node Sync Status Checker
Create validator
Security
Firewall security
Delete node
Last updated