Page cover

πŸ’ XRPL EVM network

🌐 Building the #XRPL 🀝 #EVM Sidechain and bridge solution for $XRP with @Ripple @RippleXDev πŸ› οΈ | TESTNET is live! πŸš€ | Join us πŸ‘‰ https://discord.gg/xrplevm

RPC: https://xrplevm-testnet-rpc.validator247.com
API: https://xrplevm-testnet-api.validator247.com 

---

Bridges & Interop,

Manual Install

Update system

sudo apt update
sudo apt-get install git curl build-essential make jq gcc snapd chrony lz4 tmux unzip bc -y

Install Go

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

Install node

Download binanry / config and init app / download genesis and addrbook /

cd $HOME
git clone https://github.com/xrplevm/node.git
cd node
git checkout v8.0.0
make install
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
exrpd config set client chain-id $XRPL_CHAIN_ID
exrpd init $MONIKER --chain-id $XRPL_CHAIN_ID
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

Set peer:

[email protected]:26646,[email protected]:26656,[email protected]:26656,[email protected]:45656,[email protected]:26616
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.exrpd/config/config.tom

Custom Port

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
# 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
# to create a new wallet
exrpd keys add your_key_name
# to restore exexuting wallet
exrpd keys add your_key_name --recover
# check sync status
exrpd status 2>&1 | jq 
# check balance
exrpd query bank balances your_key_name

Create validator

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
	

Delete Node

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

Last updated