Copy RPC: https://xrplevm-testnet-rpc.validator247.com
API: https://xrplevm-testnet-api.validator247.com
Copy sudo apt update
sudo apt-get install git curl build-essential make jq gcc snapd chrony lz4 tmux unzip bc -y
Copy rm -rf $HOME/go
sudo rm -rf /usr/local/go
cd $HOME
curl https://dl.google.com/go/go1.22.1.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
go version
Copy cd $HOME
git clone https://github.com/xrplevm/node.git
cd node
git checkout v8.0.0
make install
Copy echo "export WALLET="your_key_name"" >> $HOME/.bash_profile
echo "export MONIKER="your_nodename"" >> $HOME/.bash_profile
echo "export XRPL_CHAIN_ID="xrplevm_1449000-1"" >> $HOME/.bash_profile
echo "export XRPL_PORT="26"" >> $HOME/.bash_profile
source $HOME/.bash_profile
Copy exrpd config set client chain-id $XRPL_CHAIN_ID
exrpd init $MONIKER --chain-id $XRPL_CHAIN_ID
Copy curl -L https://raw.githubusercontent.com/Validator247/XRP-EVM-network/main/genesis.json -o $HOME/.exrpd/config/genesis.json
curl -L https://raw.githubusercontent.com/Validator247/XRP-EVM-network/main/addrbook.json -o $HOME/.exrpd/config/addrbook.json
Copy PEERS=6c5b34685a0c1956bde097914e42bc537f5ca5c7@79.137.70.143:26646,4a132daa35f22194e332cea80f5e25e7b28f2786@5.9.87.231:26656,7cabf7bab8e3353c8e2281c346ab238a85730ff1@34.58.215.3:26656,07f0f2211261aa2209062f63d069ed515613a281@65.21.22.55:45656,83d0356d348c3b0a7501fd674356e38ebc72b514@148.72.141.64:26616
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.exrpd/config/config.tom
Copy 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
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
Copy # 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
# enable and start service
sudo systemctl daemon-reload
sudo systemctl enable exrpd
sudo systemctl restart exrpd
sudo journalctl -u exrpd -fo cat
Copy # to create a new wallet
exrpd keys add your_key_name
Copy # to restore exexuting wallet
exrpd keys add your_key_name --recover
Copy # check sync status
exrpd status 2>&1 | jq
Copy # check balance
exrpd query bank balances your_key_name
Copy cd $HOME
# Create validator.json file
echo "{\"pubkey\":{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"$(exrpd comet show-validator | grep -Po '\"key\":\s*\"\K[^"]*')\"},
\"amount\": \"1000000uxrp\",
\"moniker\": \"test\",
\"identity\": \"\",
\"website\": \"\",
\"security\": \"\",
\"details\": \"I love blockchain ❤️\",
\"commission-rate\": \"0.1\",
\"commission-max-rate\": \"0.2\",
\"commission-max-change-rate\": \"0.01\",
\"min-self-delegation\": \"1\"
}" > validator.json
# Create a validator using the JSON configuration
exrpd tx staking create-validator validator.json \
--from $WALLET \
--chain-id xrplevm_1449000-1 \
--gas auto --gas-adjustment 1.5
Copy sudo systemctl stop exrpd
sudo systemctl disable exrpd
sudo rm -rf /etc/systemd/system/exrpd.service
sudo rm $(which exrpd)
sudo rm -rf $HOME/.exrpd
sed -i "/XRPL_/d" $HOME/.bash_profile