Solana 索引器 CLI - 高性能区块链监控工具

  • senzenn
  • 发布于 2天前
  • 阅读 617

Solana Indexer CLI 是一个用于实时 Solana 区块链监控、账户跟踪和数据索引的命令行工具,具有高级缓存和 gRPC 流媒体功能。它具有实时槽跟踪、账户监控、gRPC 流媒体、多层缓存、IPFS 集成、数据库持久化和交互式 TUI 等关键特性,能够高性能地监控 Solana 区块链。

Solana Indexer CLI - 高性能区块链监控工具

一款强大 且开源的命令行工具,用于实时 Solana 区块链监控、账户跟踪和数据索引,具有高级缓存和 gRPC 流式传输功能。

Github 仓库: https://github.com/senzenn/Solana-gRPC_indexer-Rust

🚀 主要特性

  • 实时 Slot 跟踪:以毫秒级精度监控 Solana slot 进展
  • 账户 & 钱包监控:跟踪特定账户的余额、交易和活动
  • gRPC 流式传输:用于实时数据交付的高性能流式 API
  • 多层缓存:具有亚毫秒级响应时间的 LRU + TTL 缓存系统
  • IPFS 集成:用于区块链数据持久化的分布式存储
  • 数据库持久化:用于历史数据和分析的 SQLite 数据库
  • 交互式 TUI:具有实时仪表板的漂亮的终端用户界面
  • 性能基准测试:内置的性能测试和优化

🖥️ 演示

主页界面

image.png 带有 ASCII 艺术徽标和功能概述的漂亮的终端界面

实时 Slot 跟踪

Slot Tracking Demo 具有水平布局和彩色输出的实时 slot 监控

📦 安装

前提条件

  • Rust 1.70+
  • SQLite3

快速开始

## 克隆并构建
git clone https://github.com/yourusername/solana-indexer.git
cd solana-indexer/cli-grpc
cargo build --release

## 设置环境
cp env.example .env
## 使用你的 API 密钥编辑 .env

## 运行 CLI
cargo run -- --help

🎯 常用命令

实时 Slot 跟踪

## 跟踪带有领导者信息的 Solana slots
cargo run -- track slots --leaders --interval 400

## 跟踪带有详细交易信息的 slot
cargo run -- track slots --transactions --save

账户 & 钱包监控

## 添加账户到监控
cargo run -- track wallets add --address u5LGUD4bX7BpaUuMjNw5oZp1vcbJhhPy9dJpKaWggCX --name "My Account"

## 从数据库中删除账户
cargo run -- track wallets remove --address u5LGUD4bX7BpaUuMjNw5oZp1vcbJhhPy9dJpKaWggCX --name "My Account"

## 实时监控账户
cargo run -- track wallets watch --interval 2000

## 列出受监控的账户
cargo run -- track wallets list --detailed

交互式 TUI (已损坏)

## 启动漂亮的终端界面
cargo run -- tui

## 专业日志记录界面
cargo run -- logger

性能测试

## 运行全面的性能测试
cargo run -- performance-benchmark --duration 60

🔧 配置

环境变量

## Solana RPC 端点
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
QUICKNODE_API_KEY=your_quicknode_api_key

## 数据库
DATABASE_URL=sqlite:solana_indexer.db

📊 性能

  • L1 缓存:用于热 slot 的亚毫秒级访问
  • L2 缓存:用于最近交易的毫秒级访问
  • L3 缓存:用于账户状态的几毫秒
  • 吞吐量:每秒 1000+ slot,5000+ TPS 容量
  • 响应时间:亚毫秒级缓存访问

🏗️ 架构

image.png

详细的架构图,显示了从 CLI 界面到核心服务、数据源、缓存和存储,再到输出和流式传输层的数据流。

🏛️ 核心模块

  • Slot 跟踪器:实时 slot 进展监控
  • 账户观察器:账户余额和交易监控
  • 缓存系统:多层 LRU + TTL 缓存
  • 数据库层:用于历史数据的 SQLite 持久性
  • gRPC 服务器:高性能流式 API
  • IPFS 存储:分布式数据存储

🤝 贡献

## 运行测试
cargo test

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

0 条评论

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