- Description: Monitors the XRPL for incoming transactions.
- Function: Listens for transactions on XRPL and publishes them to a local RabbitMQ instance for further processing.
- Description: Manages task distribution from the GMP API.
- Function: Listens for tasks from the GMP API and enqueues them into RabbitMQ for downstream processing by other components.
- Description: Processes queued messages related to XRPL transactions and GMP API tasks.
- Function: Consumes and processes messages from RabbitMQ, handling tasks such as transaction verification and routing.
- Description: Handles transaction creation on the XRPL.
- Function: Consumes tasks from RabbitMQ to create transactions on the XRPL, including actions like issuing refunds or submitting prover messages.
Ensure the following services are installed and running on your system:
- Redis Server
- RabbitMQ
-
Clone the Repository
git clone https://github.com/commonprefix/axelar-relayer.git cd axelar-relayer/
-
Build the Project
Compile the project using Cargo:
cargo build --release
-
Configure Environment Variables
Create a
.env
file by copying the provided template and update the necessary configurations:cp .env_template .env
Open the
.env
file in your preferred text editor and set the environment variables.
Each component can be run individually. It's recommended to use separate terminal sessions or a process manager to handle multiple components concurrently.
-
Subscriber
cargo run --bin xrpl-subscriber
-
Distributor
cargo run --bin xrpl-distributor
-
Ingestor
cargo run --bin xrpl-ingestor
-
Includer
cargo run --bin xrpl-includer