Install Relayer

Setup CLI Network variables

This document describes the command to set up the environment depending on the type of network you want to use.

-mainnettestnetznet (localnet)
Chain IDcoreum-mainnet-1coreum-testnet-1coreum-devnet-1
XRPL RPC URLRun your XRPL node or get Mainnet from the public server: Public Servers MainnetRun your XRPL node or get Testnet from the public server: Public Servers Testnethttp://localhost:5050
GRPC URLRun your Mainnet Coreum node or use https://full-node.mainnet-1.coreum.dev:9090Run your Testnet Coreum node or use https://full-node.testnet-1.coreum.dev:9090localhost:9090
Bridge release versionv1.1.5v1.1.5already installed via crust
Contract addresscore1zhs909jp9yktml6qqx9f0ptcq2xnhhj99cja03j3lfcsp2pgm86studdrztestcore1mmpa2caapm9w5wtdsrzqhe7ndxg0032kzz3g5ju28m0kd6fav9cqtltf9cget from the crust settings

Warning

⚠️ Keep in mind, that our Public RPC Node is stable, but there is always a risk of DDoS attacks, and if you build your own product(wallet, etc), it is recommended to rely on your own RPC Node. Alternatively you can use our partners services Nownodes, Zeeve, Allnodes

⚠️ Also, having own RPC node is recommended if you frequently query the Node(for instance, for indexing), since we have rate limiting there.

  • Set the env variables with the values corresponding to the network you want to connect to, from the table above.
  export COREUM_CHAIN_ID={Coreum chain id}
  export COREUM_GRPC_URL={Coreum GRPC URL}
  export XRPL_RPC_URL={XRPL RPC URL}
  export COREUMBRIDGE_XRPL_VERSION={Bridge release version}
  export COREUMBRIDGE_XRPL_CONTRACT_ADDRESS={Contract address}

Attention! Set those variables globally so it is automatically set after starting a new terminal session.

Setup Docker

For the simplicity we use the alias for the command which will be executed in docker. Pay attention that all files outputs are related to docker container.

alias coreumbridge-xrpl-relayer="docker run -e HOME=/root -it --rm -v $HOME/.coreumbridge-xrpl-relayer:/root/.coreumbridge-xrpl-relayer coreumfoundation/coreumbridge-xrpl-relayer:$COREUMBRIDGE_XRPL_VERSION"

We expect that the command will be executed from the root user, since the container will generate the files, and if the user is not root those files will be allowed to be modified by the root only. If you do not want to use root user you would need to either generate the file inside the container without mounting it and copying it outside. Or generate them first and then allow from root to the current user to modify them or use the binary for the file generation. Pay attention that keys are encrypted files as well.