|
1 | | -# rrelayer |
2 | | - |
3 | | -## TODO List |
4 | | - |
5 | | -30th September plan: |
6 | | -- Do internal documentation throughout the .MD files |
7 | | - |
8 | | -31st September plan: |
9 | | -- Reread documentation |
10 | | -- Get CI builds / releases working |
11 | | -- Testing |
12 | | - - loading up ALL supported gas providers so it works |
13 | | - - Testing handling custom gas with http call |
14 | | -- Look into authentication to login and then use it outside rrelayer.yaml |
15 | | -- Publish packages - TS + Rust |
16 | | -- Release—20:00 UK time |
17 | | -2 |
18 | | -# AFTER |
19 | | - |
20 | | -- Create CI to run E2E tests on push |
21 | | -- Write go and python SDK (create issues) |
22 | | -- cron job to hit a contract call with parameters every n minutes |
23 | | -- send tx on event firing using rindexer |
| 1 | +# 🦀 rrelayer 🦀 |
| 2 | + |
| 3 | +Note rrelayer is brand new and actively under development, things will change and bugs will exist - if you find any bugs or have any |
| 4 | +feature requests please open an issue on [github](https://github.com/joshstevens19/rrelayer/issues). |
| 5 | + |
| 6 | +rrelayer is an opensource powerful, high-performance blockchain transaction relay service built in Rust, |
| 7 | +designed for seamless integration with any EVM-compatible network. This tool transforms complex |
| 8 | +blockchain interactions into simple REST API calls, eliminating the need for applications to |
| 9 | +manage wallets, gas optimization, transaction queuing, or nonce management. For enterprise |
| 10 | +needs, rrelayer provides advanced wallet infrastructure with support for multiple |
| 11 | +secure signing providers including AWS KMS hardware security modules, Turnkey self-custody |
| 12 | +solutions, Privy-managed wallets, AWS Secrets Manager, GCP Secret Manager, and raw mnemonic |
| 13 | +development setups. It's highly scalable and production-ready, enabling you to build robust |
| 14 | +Web3 applications with enterprise-grade reliability and focus exclusively on your business |
| 15 | +logic. rrelayer out of the box gives you transaction relay, message signing, automated |
| 16 | +gas management, and real-time monitoring through intuitive APIs. |
| 17 | + |
| 18 | +You can get to the full rrelayer [documentation](https://rrelayer.xyz/). |
| 19 | + |
| 20 | +## Install |
| 21 | + |
| 22 | +```bash |
| 23 | +curl -L https://rrelayer.xyz/install.sh | bash |
| 24 | +``` |
| 25 | + |
| 26 | +If you’re on Windows, you will need to install and use Git BASH or WSL, as your terminal, |
| 27 | +since rrelayer installation does not support Powershell or Cmd. |
| 28 | + |
| 29 | +## Use rrelayer |
| 30 | + |
| 31 | +Once installed you can run `rrelayer --help` in your terminal to see all the commands available to you. |
| 32 | + |
| 33 | +```bash |
| 34 | +rrelayer --help |
| 35 | +``` |
| 36 | + |
| 37 | +```bash |
| 38 | +Blazing fast EVM relayer tool built in rust |
| 39 | + |
| 40 | +Usage: rrelayer [COMMAND] |
| 41 | + |
| 42 | +Commands: |
| 43 | + new Create a new rrelayer project |
| 44 | + clone Clone an existing relayer private key to another network |
| 45 | + auth Authenticate with rrelayer |
| 46 | + start Start the relayer service |
| 47 | + network Manage network configurations and settings |
| 48 | + list List all configured relayers |
| 49 | + config Configure operations for a specific relayer |
| 50 | + balance Check the balance of a relayer's account |
| 51 | + allowlist Manage allowlist addresses for restricted access |
| 52 | + create Create a new relayer client instance |
| 53 | + sign Sign messages and typed data alongside get history of signing |
| 54 | + tx Send, manage and monitor transactions |
| 55 | + help Print this message or the help of the given subcommand(s) |
| 56 | + |
| 57 | +Options: |
| 58 | + -h, --help Print help |
| 59 | + -V, --version Print version |
| 60 | +``` |
| 61 | +
|
| 62 | +We have full documentation https://rrelayer.xyz/getting-started/installation which goes into more detail on how to use |
| 63 | +rrelayer and all the commands available to you. |
| 64 | +
|
| 65 | +## Docker |
| 66 | +
|
| 67 | +Coming soon. |
| 68 | +
|
| 69 | +## Helm Chart |
| 70 | +
|
| 71 | +Coming soon. |
| 72 | +
|
| 73 | +## What can I use rrelayer for? |
| 74 | +
|
| 75 | +* DApp backends: Handle user transactions without wallet management complexity |
| 76 | +* NFT platforms: Automated minting, transfers, and marketplace operations with reliable execution |
| 77 | +* DeFi protocols: Yield farming automation, liquidation bots, and cross-chain operations |
| 78 | +* Enterprise Web3: Simplified blockchain integration for traditional businesses with audit compliance |
| 79 | +* Development workflows: Consistent APIs for local development and comprehensive E2E testing |
| 80 | +* Gasless transactions: Meta-transaction infrastructure for improved user experience |
| 81 | +* Multi-chain applications: Unified transaction interface across different EVM networks |
| 82 | +* High-frequency operations: Advanced queuing system for batch processing and optimization |
| 83 | +* Production infrastructure: Enterprise-grade transaction reliability with comprehensive monitoring |
| 84 | +- Much more... |
| 85 | +
|
| 86 | +## Installing |
| 87 | +
|
| 88 | +### Github |
| 89 | +
|
| 90 | +```bash [github] |
| 91 | +cargo add --git https://github.com/joshstevens19/rrelayer --package rrelayer |
| 92 | +``` |
| 93 | +
|
| 94 | +### Crate.io |
| 95 | +
|
| 96 | +https://crates.io/crates/rrelayer |
| 97 | +
|
| 98 | +```bash [crates.io] |
| 99 | +cargo add rrelayer |
| 100 | +``` |
| 101 | +
|
| 102 | +## What networks do you support? |
| 103 | +
|
| 104 | +rrelayer supports any EVM chain out of the box. If you have a custom chain, you can easily add support for it by |
| 105 | +adding the chain's RPC URL to the YAML configuration file and defining the chain ID. No code changes are required. |
| 106 | + |
| 107 | +## Building |
| 108 | + |
| 109 | +### Requirements |
| 110 | + |
| 111 | +- Rust (latest stable) |
| 112 | + |
| 113 | +### Locally |
| 114 | + |
| 115 | +To build locally you can just run `cargo build` in the root of the project. This will build everything for you as this is a workspace. |
| 116 | + |
| 117 | +**Note:** The first build may take longer. |
| 118 | + |
| 119 | +Subsequent builds use smart caching and will only rebuild components that have changed. |
| 120 | + |
| 121 | +### Prod |
| 122 | + |
| 123 | +To build for prod you can run `make prod_build` this will build everything for you and optimise it for production. |
| 124 | + |
| 125 | +## Formatting |
| 126 | + |
| 127 | +you can run `cargo fmt` to format the code, rules have been mapped in the `rustfmt.toml` file. |
| 128 | + |
| 129 | +## Contributing |
| 130 | + |
| 131 | +Anyone is welcome to contribute to rrelayer, feel free to look over the issues or open a new one if you have |
| 132 | +any new ideas or bugs you have found. |
| 133 | + |
| 134 | +### Playing around with the CLI locally |
| 135 | + |
| 136 | +You can use the `make` commands to run the CLI commands locally, this is useful for testing and developing. |
| 137 | +These are located in the `cli` folder > `Makefile`. It uses `CURDIR` to resolve the paths for you, so they should work |
| 138 | +out of the box. |
| 139 | + |
| 140 | +## Release |
| 141 | + |
| 142 | +To release a new rrelayer: |
| 143 | + |
| 144 | +1. Checkout `release/x.x.x` branch depending on the next version number |
| 145 | +2. Push the branch to GitHub which will queue a build on the CI |
| 146 | +3. Once build is successful, a PR will be automatically created with updated changelog and version |
| 147 | +4. Review and merge the auto-generated PR - this will auto-deploy the release with binaries built from the release branch |
0 commit comments