您正在查看: Solana 分类下的文章

Solana钱包监控器:实时追踪钱包活动

Solana Insider Monitor

一款用于监控 Solana 钱包活动、检测余额变化并接收实时警报的工具。

特征

  • 同时监控多个 Solana 钱包
  • 追踪代币余额变化
  • 重大变化实时警报
  • 集成 Discord 以发送通知
  • 钱包数据的持久存储
  • 优雅地处理网络中断

https://accursedgalaxy.github.io/Insider-Monitor/
https://github.com/AccursedGalaxy/Insider-Monitor

Solana RPC 网关

https://github.com/jxad/solana-rpc-gateway

一款高性能、可用​​于生产环境的 Solana RPC 基础架构网关。它提供跨多个 RPC 端点的智能负载均衡、自动故障转移和健康感知路由,支持 HTTP JSON-RPC 和 gRPC (Yellowstone) 协议。

特征

  • 智能负载均衡——在运行正常的端点之间进行轮询分配,并具有自动故障转移功能。
  • 双协议支持— HTTP JSON-RPC 代理 + Yellowstone gRPC 流式网关
  • 健康感知路由——持续的健康监控,包括正常运行时间检查和时隙同步验证
  • Redis 缓存— 可配置的缓存getTransaction,,,getProgramAccountsgetAccountInfogetMultipleAccounts
  • 速率限制——支持基于 IP 地址的速率限制,并支持 HTTP 和 gRPC 的白名单机制
  • 热重载——无需中断服务即可更改配置
  • 可观测性——结构化日志记录,集成 Seq、调试端点和指标跟踪

Solana 程序的 Go 索引器

https://github.com/lugondev/go-indexer-solana-starter

这是一个高性能的 Solana 区块链事件索引器,专为Starter Program和Counter Program而设计。该索引器监控并存储程序发出的所有事件到 MongoDB 或 PostgreSQL 数据库中,以便于查询和分析。

功能

多程序支持:同时索引启动程序(锚定事件)和计数器程序(基于日志的事件)
事件驱动架构:索引来自入门程序的 20 多种事件类型 + 来自计数器程序的 6 种事件类型
实时处理:轮询 Solana RPC 以获取新事务并立即处理事件。
支持多种数据库:MongoDB 和 PostgreSQL(支持数据库迁移)
双重解码策略:基于锚点判别器的解码 + 对数解析
并发处理:可配置批处理大小和并发数,以实现最佳性能
类型安全模型:具有正确序列化的强类型事件模型
生产就绪:优雅关机、错误处理和全面的日志记录

Solana 检查交易confirmed状态时间过长

问题

业务中发送交易后,等待状态变为 confirmed 的时间较长,约 3 秒左右。

环境

  • 基于 Solana Agave 部署
  • 单 validator 私链

原因分析

confirmed 并不是交易立即执行的状态,而依赖 slot / vote / block commitment

单 validator 下 confirmed 延迟原因

  • processed:leader 已执行交易(最快)
  • confirmed:交易所在 block 被投票确认
  • finalized:达到 supermajority

单 validator 情况:

  • 即便只有一个节点,也必须出 vote
  • vote 是单独交易,通常在 下一个或后续 slot 才完成
  • slot 时间偏大或交易量低 → vote 延迟 → confirmed 累积到 1–3 秒

即使 slot = 50ms,在低 TPS 私链下,confirmed 仍可能慢,因为 vote 被节流或跨多个 slot 才出。

解决方案

1. 客户端改用 processed

connection.confirmTransaction(sig, "processed")

sendAndConfirmTransaction(
  connection,
  tx,
  signers,
  { commitment: "processed" }
)
  • processed 延迟:几十 ms
  • confirmed 延迟:1–3 秒

单 validator 私链中,processed 基本安全,不会发生共识回滚。


2. 风险说明

  • 唯一风险来自 节点崩溃/重启:block 未落盘 → 交易可能丢失
  • 非共识风险,仅进程级别

3. 优化 confirmed 延迟

  • 低 TPS 私链可通过增加压测交易:
    • 每个 slot 保持交易 → vote 更快产生 → confirmed 延迟缩短
  • 压测交易可使用无害空交易
    • 发送 0 SOL 的转账
    • from/to 同一个账户

4. 综合方案(推荐)

目标:保证业务交易快速反馈,同时降低 confirmed 延迟

  1. 客户端
    • 使用 commitment = processed
    • 立即返回成功,提升用户体验
  2. 后台服务
    • 异步监听交易 signature
    • confirmed / finalized
    • 极端情况(几秒后未 confirmed) → 补偿或重发
  3. 压测优化(可选)
    • 在私链 TPS 较低时,可增加持续模拟交易
    • 每个 slot 都有交易 → vote 更快生成 → confirmed 时间缩短
    • 可使用无害空交易,不影响业务逻辑

该方案兼顾速度、确认可靠性,并可通过压测交易进一步降低 confirmed 延迟