> For the complete documentation index, see [llms.txt](https://docs.validator247.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.validator247.com/testnet/xrpl-evm-network.md).

# XRPL EVM network

#### ![🌐](https://discord.com/assets/34f5679881a6a6e3.svg) **Main Links**,

* &#x20;**Website:** [xrplevm.org](https://xrplevm.org/),
* &#x20;**Ecosystem Map:** [xrplevm.org](https://ecosystem.xrplevm.org/),
* &#x20;**Testnet Faucet:** [faucet.xrplevm.org](https://faucet.xrplevm.org/),
* &#x20;**Explorer:** [explorer.xrplevm.org](https://explorer.xrplevm.org/),

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

* &#x20;**Governance:** [governance.xrplevm.org/xrp](https://governance.xrplevm.org/xrp),
* &#x20;**Discord invite link:** <https://discord.gg/xrplevm>,

\---

#### &#x20;**Bridges & Interop**,

* &#x20;**Squid Router Testnet UI:** [xrpl.squidrouter.com](https://testnet.xrpl.squidrouter.com/),
* &#x20;**Axelar GMP Explorer:** [testnet.axelarscan.io/gmp](https://testnet.axelarscan.io/gmp/search)

### Manual Install <a href="#installation" id="installation"></a>

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 / &#x20;

```
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
```

```bash
exrpd config set client chain-id $XRPL_CHAIN_ID
exrpd init $MONIKER --chain-id $XRPL_CHAIN_ID
```

```bash
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:

```
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
```

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
```

```bash
# 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
```

<pre><code><strong># check sync status
</strong>exrpd status 2>&#x26;1 | jq 
</code></pre>

```
# check balance
exrpd query bank balances your_key_name
```

### Create validator <a href="#create-validator" id="create-validator"></a>

```
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
```
