引介 eRPC:具有容错能力的 EVM RPC 代理和永久缓存

  • erpc__
  • 发布于 16小时前
  • 阅读 53

eRPC 是一个具有容错能力的 EVM RPC 代理和永久缓存解决方案,它能应对区块链重组。该工具旨在处理读取密集型用例,如数据索引和高负载前端使用。它具有重试、熔断器、故障转移和对冲请求等关键特性,并通过本地缓存、自动方法路由、统一错误处理等提高效率。

推荐一个开源的 EVM RPC 代理 eRPC, 以下 Github 上 Readme 翻译:


eRPC 是一个容错的 EVM RPC 代理和 可感知重组的永久缓存解决方案。它的构建考虑了读密集型用例,例如数据索引和高负载前端使用。

Architecture Diagram

⚠️ 注意: eRPC 仍在开发中。我们建议在测试网络中使用它,或者将其作为生产 RPC 调用的后备提供程序。


快速开始

通过以下设置,你可以立即访问 2,000 多个链和 4,000 多个公共免费 EVM RPC 端点。

运行 eRPC 实例:

使用 npx:

npx start-erpc

或者,使用 Docker:

docker run -p 4000:4000 ghcr.io/erpc/erpc

或者,使用 Railway:

Deploy on Railway

向你的 eRPC 实例发送请求:

curl 'http://localhost:4000/main/evm/42161' \
--header 'Content-Type: application/json' \
--data '{
    "method": "eth_getBlockByNumber",
    "params": ["latest", false],
    "id": 9199,
    "jsonrpc": "2.0"
}'

下一步:

此设置非常适合开发和测试目的。对于生产环境,我们建议使用专门的付费提供商和高级故障转移设置来扩展你的配置。有关更多详细信息,请参阅我们的 配置指南


主要特性

  • 重试,熔断器,故障转移和对冲请求: 确保始终使用最快,最可靠的上游。
  • 可配置的速率限制: 设置每小时或每天的速率限制 ,以控制每个上游的使用量和成本。
  • 本地可感知重组的缓存: 避免冗余的上游调用,并在发生区块链重组时保持数据一致性。
  • 自动方法路由: 无需担心哪个提供商支持哪个 eth_* 方法。
  • 统一的错误处理: 跨多个提供商的一致的错误代码和详细消息。
  • 单一仪表盘: 观察所有提供商的吞吐量(RPS)、错误和平均延迟。
  • 灵活的身份验证: 支持 basic auth, secrets, JWT, SIWE 等。
  • 智能批处理: 将多个 RPC 或合约调用聚合为一个
  • 选择策略: 允许你使用 选择策略 影响如何选择上游来服务流量(或不服务)。
  • 数据完整性: 通过利用几种 数据完整性机制 确保准确、最新的响应。

案例分析


本地开发

  1. 克隆此存储库:
git clone https://github.com/erpc/erpc.git
  1. 安装 Go 依赖项:
make setup
  1. 创建一个配置文件:
cp erpc.yaml.dist erpc.yaml
vi erpc.yaml
  1. 运行 eRPC 服务器:
make run

贡献者

<a href="https://github.com/erpc/erpc/graphs/contributors"> <img src="https://contrib.rocks/image?repo=erpc/erpc&max=50&columns=10&anon=1" alt="Contributors" /> </a>

<p> 通过为此项目做出贡献,你同意你的贡献可用于该软件的开源版本和企业版本。请在提交你的贡献之前查看我们的 <a href="./CONTRIBUTING.md">贡献指南</a> 和 <a href="./CLA.md">贡献者许可协议</a>。 </p>


许可证

Apache 2.0

  • 原文链接: github.com/erpc/erpc/blo...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 1
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
erpc__
erpc__
江湖只有他的大名,没有他的介绍。