Validator
the xrpl evm sidechain enables ethereum smart contracts and erc 20 tokens to interact with the xrp ledger, combining the best of both ecosystems whether you are a user, developer, operator, or interested in bridging assets, this documentation will guide you 🖥️ hardware requirements component storage kv memory 32 gb ram cpu 8 cores storage 1tb cloud storage (aws), ssd or nvme bandwidth 100mbp 🛞 auto installer in progress 🕹️ manual installer 1\ install necessary packages ⌨️ sudo apt update && sudo apt upgrade y sudo apt install make curl git wget htop tmux build essential jq make lz4 gcc unzip y 2\ clone the 0g storage kv repository from github ⌨️ echo "export wallet="wallet"" >> $home/ bash profile echo "export moniker="zstake"" >> $home/ bash profile echo "export xrpl chain id="xrplevm 1449000 1"" >> $home/ bash profile echo "export xrpl port="50"" >> $home/ bash profile source $home/ bash profile 4\ build the project in release mode ⌨️ cd $home git clone https //github com/xrplevm/node cd node git checkout v6 0 0 make install exrpd version 5\ edit the configuration file ⌨️ export wasmvm version=v2 1 2 export exrpd path=$home/ exrpd/lib mkdir p $exrpd pat wget "https //github com/cosmwasm/wasmvm/releases/download/$wasmvm version/libwasmvm $(uname m) so" o "$exrpd path/libwasmvm $(uname m) so" echo "export exrpd path=$home/ exrpd/lib $exrpd path" >> / bashrc source / bashrc 6\ node init ⌨️ exrpd config set client node "tcp\ //localhost 50657" exrpd config set client keyring backend os exrpd config set client chain id xrplevm 1449000 1 exrpd init "zstake" chain id xrplevm 1449000 1 7\ peers, seed setting ⌨️ seeds="" peers=972f58b459debdbaa92fd8479d89128b653d7eb8\@65 21 29 250 3640,f8452f28064e9cf9ef1df0c055ac0280576143b6\@65 108 69 56 26696,b96d3e221688108e40706d51cca59d80a60f67e9\@65 21 200 7 3640,1881f3f71603b7eba91b8b84148834c7322122be\@45 77 195 1 26656,6c5b34685a0c1956bde097914e42bc537f5ca5c7\@79 137 70 143 26646 sed i bak e "s/^persistent peers = /persistent peers = \\"$peers\\"/" $home/ exrpd/config/config toml ⌨️ sed i e "/^\\\[p2p\\]/,/^\\\[/{s/^\[\[ space ]] seeds = /seeds = \\"$seeds\\"/}" \\ e "/^\\\[p2p\\]/,/^\\\[/{s/^\[\[ space ]] persistent peers = /persistent peers = \\"$peers\\"/}" $home/ exrpd/config/config toml 8\ download genesis json & addrbook file ⌨️ wget o $home/ exrpd/config/genesis json https //snapshots polkachu com/testnet genesis/xrp/genesis json wget o $home/ exrpd/config/addrbook json https //snapshots polkachu com/testnet addrbook/xrp/addrbook json 9\ custom port setting ⌨️ 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 10\ config pruning, set gas price, enable prometheus, disable indexer ⌨️ 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 ⌨️ 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 11\ create a systemd service file ⌨️ sudo tee /etc/systemd/system/exrpd service > /dev/null <\<eof \[unit] description=xrpl 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 12\ start the service immediately ⌨️ sudo systemctl daemon reload && sudo systemctl enable exrpd && sudo systemctl restart exrpd ⌨️ useful commands 1\ log check ⌨️ sudo journalctl u exrpd fo cat 2 key command add new wallet exrpd keys add $wallet restore executing wallet exrpd keys add $wallet recover check balance exrpd q bank balances $wallet view evm private key exrpd keys unsafe export eth key $wallet delegate self exrpd tx staking delegate $(exrpd keys show $wallet bech val a) 1000000uxrp from $wallet chain id exrp 1440002 1 gas auto gas adjustment 1 5 y ⌨️ exrpd tx staking create validator \\ \ amount 1000000uxrp \\ \ from $wallet \\ \ commission rate 0 1 \\ \ commission max rate 0 2 \\ \ commission max change rate 0 01 \\ \ min self delegation 1 \\ \ pubkey $(exrpd tendermint show validator) \\ \ moniker "$moniker" \\ \ identity "" \\ \ details "exrp node by stv" \\ \ chain id exrp 1440002 1 \\ \ gas auto gas adjustment 1 5 \\ y edit validator exrpd tx staking edit validator \\ \ new moniker "your moniker name" \\ \ identity "your keybase id" \\ \ details "your details" \\ \ website "your website url" \\ \ security contact "your contact" \ from $wallet \\ \ chain id exrp 1440002 1 \\ \ gas auto gas adjustment 1 5 \\ y validator info exrpd q staking validator $(exrpd keys show wallet bech val a) exrpd tendermint show validator validator details exrpd q staking validator $(exrpd keys show $wallet bech val a)