您正在查看: Ethereum-开源推荐 分类下的文章

RESTful API 设计服务来管理以太坊网络中的交易

以太坊交易管理器

任务描述

开发一个 RESTful API 服务,用于管理以太坊区块链(goerli 测试网络)上的交易,考虑高负载。

要求

该API应该支持以下操作:

  • 发送新交易(POST /交易)

  • 检索以太坊地址的余额 (GET /balances/{address})

  • 通过哈希检索交易信息 (GET /transactions/{hash})

    • hash(交易哈希)
    • 来自(发件人地址)
    • 至(收件人地址)
    • 值(发送的 Eth 数量)
    • 时间戳
  • 使用 Ethers.js(用于 Node.js)或 go-ethereum(用于 Go)与以太坊(Goerli)区块链进行交互。

  • 实现地址余额缓存以减少 RPC 负载(可以使用任何缓存解决方案,例如 Redis 或内置缓存)。

  • 通过最小化请求数量来优化 RPC 交互。

  • 提供负载测试结果,证明该服务每秒至少处理 100 个请求的能力。

  • 在 GitHub 上发布源代码。

  • 可选但加分项:Dockerfile + 在 Docker 和/或 Docker 镜像中运行的说明。

https://github.com/alewkinr/eth-trx-manager/tree/main

以太坊事件监听器 API

一个强大且可扩展的 RESTful API,旨在监听以太坊智能合约发出的特定事件。

以太坊事件监听器 API

以太坊事件监听器 API 是一个功能强大的工具,可让您监控和捕获以太坊智能合约发出的事件。借助此 API,您可以轻松地为特定合约和事件名称注册事件监听器,并检索捕获的事件数据以进行进一步分析或与其他系统集成。

特征

  • 为以太坊智能合约注册事件监听器
  • 捕获发出的事件并将其存储在 MySQL 数据库中
  • 通过 RESTful API 端点检索事件数据
  • 使用 API 密钥对 API 请求进行身份验证
  • Docker 化应用程序,易于部署和扩展

使用的技术

  • Golang
  • Gin Web 框架
  • 以太坊 Go 客户端 (go-ethereum)
  • GORM (MySQL 的 Go ORM)
  • MySQL 数据库
  • Docker
  • Docker 组成

https://github.com/devlongs/ethereum-event-listener

由 Cloudflare 支持的 eth_getBlockByNumber API 的缓存代理

开源地址:https://github.com/Scratch-net/ethproxy

概述

Ethproxy 是一项为Cloudflare gateway支持的 API 方法 eth_getBlockByNumber 提供 LRU 缓存的服务。

  • 它使用CCache作为缓存引擎。
  • Singleflight可防止同时请求单个块
  • 使用envconfig进行配置
  • 最新 20 个块的默认 TTL 为 5 秒。从 20 到 1000 的区块的 TTL=“距最新的距离”* 5s
  • 所有距离最新区块超过 1000 的区块都被认为是不可变的
  • 请求过期的缓存项不会阻止服务。它在后台刷新请求的块
  • 实现优雅关闭
  • 短绒支持
  • Docker 镜像构建。由于多阶段静态构建,生成的图像大小小于 6 mb

Blob Archiver 存档并允许查询信标链中所有历史 Blob

Blob Archiver 是一种存档并允许查询信标链中所有历史 Blob 的服务。它由两个部分组成:

Archiver - 跟踪信标链并将 blob 写入存储后端
API - 实现 blob sidecars API,允许客户端从存储后端检索 blob

贮存

目前支持两种存储选项:

磁盘存储 - Blob 写入磁盘的目录中
S3 存储 - Blob 写入 S3 存储桶(或兼容服务)
BLOB_API_DATA_STORE您可以通过将和设置BLOB_ARCHIVER_DATA_STORE为file或来控制使用哪个存储后端s3。

后端s3还可以使用(例如)Google Cloud Storage 存储桶(此处的说明)。

数据有效性

目前,归档器和 API 不验证信标节点的数据。因此,信任 Beacon 节点或验证客户端中的数据非常重要。 向归档器和 API 添加数据验证存在一个未解决的问题。

开源地址:https://github.com/base-org/blob-archiver

RPCHub 聚合器

RPCHub 是一个 RPC 聚合器,通过集成您拥有的节点、私有和公共端点,为您提供最快、最强大的 RPC 服务。

RPCHub 是一款开源软件,允许您自定义自己的策略配置。

通过定制化配置,RPCHub能够实现RPC服务的可扩展、独享、稳定、低成本、高性能。

配置在本地存储和使用,以最好地保护您的隐私。

https://github.com/BlockPILabs/aggregator