Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/erpc/erpc
eRPC — fault-tolerant evm rpc proxy
https://github.com/erpc/erpc
cache erpc ethereum evm go load-balancer proxy rpc
Last synced: 16 days ago
JSON representation
eRPC — fault-tolerant evm rpc proxy
- Host: GitHub
- URL: https://github.com/erpc/erpc
- Owner: erpc
- License: apache-2.0
- Created: 2024-05-06T10:32:04.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-20T11:38:37.000Z (23 days ago)
- Last Synced: 2024-11-20T11:40:34.052Z (23 days ago)
- Topics: cache, erpc, ethereum, evm, go, load-balancer, proxy, rpc
- Language: Go
- Homepage: https://docs.erpc.cloud
- Size: 21.4 MB
- Stars: 351
- Watchers: 7
- Forks: 18
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-web3 - eRPC - Open-source EVM RPC proxy & cache service built to scale horizontally from small traffic to million RPS across many chains, optimized for read-heavy use-cases such as Indexers, Frontends, MEV bots, etc. (Software Development / Go)
- awesome-evm-data-tools - ERPC - Fault-tolerant evm rpc proxy (Infrastructure)
- awesome-evm-data-tools - ERPC - Fault-tolerant evm rpc proxy (Infrastructure)
README
# eRPC
[![CI][ci-badge]][ci-url]
[![Telegram chat][tg-badge]][tg-url]
[![License][license-badge]][license-url]
[eRPC](https://erpc.cloud/) is a fault-tolerant EVM RPC proxy and re-org aware permanent caching solution. It is built with read-heavy use-cases in mind such as data indexing and high-load frontend usage.
![Architecture](./assets/hla-diagram.svg)
> ⚠️ eRPC is still under development, and for now should be used for "testnets" or as "a fallback" for RPC calls.
# Features
✅ Retries, circuit-breakers, [failovers](https://docs.erpc.cloud/config/failsafe) and hedged requests make sure fastest most-reliable upstream is used
✅ Define hourly, daily [rate limits](https://docs.erpc.cloud/config/rate-limiters) for each upstream provider, to control usage, costs and high-scale usage
✅ Avoid redundant upstream costs by locally [caching](https://docs.erpc.cloud/config/database) RPC responses, with reorg-aware caching layer
✅ You don't need to think about which upstream supports which `eth_*` method; eRPC automatically does that.
✅ Receive consistent error codes with details across 5+ third-party providers and reporting of occured errors.
✅ Single dashboard to observe rps throughput, errors, and avg. latency of all your RPC providers.
✅ [Authentication](https://docs.erpc.cloud/config/auth) modules such as basic auth, secret-based, JWT and SIWE.
✅ [Smart batching](https://docs.erpc.cloud/operation/batch) to aggregates multiple RPC or contract calls into one.# Case Studies
* 🚀 [Moonwell: How eRPC slashed RPC calls by 67%](https://erpc.cloud/case-studies/moonwell)
* 🚀 [Chronicle: How eRPC reduced RPC cost by 45%](https://erpc.cloud/case-studies/chronicle)# Usage & Docs
- Visit [docs.erpc.cloud](https://docs.erpc.cloud) for documentation and guides.
- Join [eRPC's Telegram](https://t.me/+eEik0_G1VMhmN2U8) for technical discussions and feedbacks.
- Request a feature in [Featurebase](https://erpc.featurebase.app).## Local Development
1. Clone this repository:
```bash
git clone https://github.com/erpc/erpc.git
```2. Install Go dependencies:
```bash
make setup
```3. Create a `erpc.yaml` configuration file based on the [`erpc.yaml.dist`](./erpc.yaml.dist) file, and use your RPC provider credentials:
```bash
cp erpc.yaml.dist erpc.yaml
vi erpc.yaml
```4. Run the eRPC server:
```bash
make run
```# License
Apache 2.0
[ci-badge]: https://img.shields.io/badge/CI-passing-brightgreen
[ci-url]: https://github.com/erpc/erpc/actions/workflows/development.yml
[tg-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=chat&url=https%3A%2F%2Fmogyo.ro%2Fquart-apis%2Ftgmembercount%3Fchat_id%3Derpc_cloud
[tg-url]: https://t.me/erpc_cloud
[license-badge]: https://img.shields.io/github/license/erpc/erpc
[license-url]: https://github.com/erpc/erpc/blob/main/LICENSE