DongQN
  • ☑️0G Validator Node
  • ☑️0G Storage Node
    • ☑️Update Storage Node
  • ☑️0G Storage KV
    • ☑️Update 0G Storage KV
  • ☑️0G DA Node
    • ☑️Update 0G DA Node
  • ☑️0G DA Client
  • ☑️Initia-Testnet
  • ☑️XRPL EVM-Testnet
  • ☑️Allora Full Node (RPC)
  • ☑️Hedge-Tesnet
  • ☑️Symphony Validator Node
  • ☑️Aaron Network Validator
  • ☑️Story Validator Node
  • ☑️Empe Validator Node
  • ☑️Nillion Validator Node
  • ☑️Gensyn Testnet Node CPU
  • Reference
    • API Reference
      • Pets
      • Users
  • How to Set Up Explorer
Powered by GitBook
On this page
  • Installation:
  • Download Binary:
  • Create wallet
  • Creating a validator

XRPL EVM-Testnet

Recommended Hardware: 8 Cores, 32GB RAM, 1TB of storage (NVME)

Installation:

Install dependencies, if needed:

sudo apt update && \
sudo apt install curl git jq build-essential gcc unzip wget lz4 -y

Install go, if needed:

ver="1.21.13"
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"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version

Download Binary:

wget https://github.com/xrplevm/node/releases/download/v7.0.0/node_7.0.0_Linux_amd64.tar.gz
tar -xzf node_7.0.0_Linux_amd64.tar.gz
sudo mv /root/bin/exrpd /usr/local/bin/
chmod +x /usr/local/bin/exrpd
which exrpd
exrpd version

Setup your variable settings:

echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="dongqn"" >> $HOME/.bash_profile
echo "export EXRPD_CHAIN_ID="xrplevm_1449000-1"" >> $HOME/.bash_profile
source $HOME/.bash_profile

Initialize node & create home directory for .exrpd

cd $HOME
exrpd init $MONIKER --chain-id $EXRPD_CHAIN_ID

Download genesis file:

wget -O $HOME/.exrpd/config/genesis.json "https://raw.githubusercontent.com/xrplevm/networks/refs/heads/main/testnet/genesis.json"

Set up node configuration:

sed -i.bak -e "s/^chain-id *=.*/chain-id = \"xrplevm_1449000-1\"/;" ~/.exrpd/config/client.toml
sed -i.bak -e "s/^keyring-backend *=.*/keyring-backend = \"os\"/;" ~/.exrpd/config/client.toml
sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0025axrp\"/;" ~/.exrpd/config/app.toml
external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:26656\"/" $HOME/.exrpd/config/config.toml
PEERS=`curl -sL https://raw.githubusercontent.com/xrplevm/networks/main/testnet/peers.txt | sort -R | head -n 10 | awk '{print $1}' | paste -s -d, -`
sed -i.bak -e "s/^seeds *=.*/seeds = \"$PEERS\"/" ~/.exrpd/config/config.toml
sed -i -e "s/^filter_peers *=.*/filter_peers = \"true\"/" $HOME/.exrpd/config/config.toml

(OPTIONAL) Set up pruning:

pruning="custom"
pruning_keep_recent="1000"
pruning_interval="100"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.exrpd/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.exrpd/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.exrpd/config/app.toml

(OPTIONAL) Set up indexer:

indexer="null"
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.exrpd/config/config.toml

(OPTIONAL) Enable/Disable Snapshots:

snapshot_interval=1000
sed -i.bak -e "s/^snapshot-interval *=.*/snapshot-interval = \"$snapshot_interval\"/" ~/.exrpd/config/app.toml

Use initiad at service:

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

[Service]
User=$USER
ExecStart=$(which exrpd) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Launch:

systemctl daemon-reload
systemctl enable exrpd
systemctl restart exrpd && journalctl -u exrpd -f -o cat

Check for your syncing progress

exrpd status 2>&1 | jq

Create wallet

exrpd keys add wallet --key-type eth_secp256k1

Creating a validator

The XRPL EVM runs in a Proof of Authority consensus mechanism. In order to start signing for new blocks and participate in the network consensus, the current validators need to accept your node as a new trusted validator. This democratic process requires the approval of the majority of the current validators.

While doing your introduction, you will need to provide the details that identify your validator.

  • Moniker: The public name of your validator

  • Validator operator address: The address of the operator of the node that starts with ethmvaloper . Can be obtained by running:

exrpd keys show wallet --bech val
  • Public key: The public key of your node. Can be obtained by running:

exrpd tendermint show-validator

(Optional) Download a Snapshot

systemctl stop exrpd
exrpd tendermint unsafe-reset-all --home $HOME/.exrpd
if curl -s --head curl https://share102.utsa.tech/xrpl/xrpl.tar.lz4 | head -n 1 | grep "200" > /dev/null; then
  curl https://share102.utsa.tech/xrpl/xrpl.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.exrpd
    else
  echo "no snapshot found"
fi

systemctl restart exrpd && journalctl -u exrpd -f -o cat
PreviousInitia-TestnetNextAllora Full Node (RPC)

Last updated 1 month ago

To begin the process, join the and select your validator role in the #roles channel. After that, you will need to introduce yourself in the #become-a-validator channel. Explain who you are and why you want to run a validator. Generally, you will be accepted if you have a real interest in the project, either because you want to use the network for a company, are a recognized member of the community who wants to contribute to its long-term governance, or just have an academic interest.

After that, a proposal to accept your validator will be voted on over a period of 7 days. During this time, some members may write to you publicly or privately to ask more questions. You can view the process on the .

☑️
XRPL EVM Sidechain Discord
XRPL EVM Sidechain Explorer