3 个版本
0.0.4 | 2024年3月8日 |
---|---|
0.0.3 | 2024年2月5日 |
0.0.1 | 2023年7月26日 |
#208 in HTTP客户端
每月 95 次下载
84KB
2K SLoC
Graphcast Listener Radio
简介
本广播通过订阅八卦网络主题来监控 Graphcast 网络。该广播不会向网络发送消息,但会记录消息并生成基本指标以供网络监控。
快速入门
- 确保运行着Postgres实例
- 将Postgres url 设置为
DATABASE_URL
在.env
- 设置一般 GraphcastAgent 环境变量。查看SDK文档和CLI帮助了解详细信息。以下是一个简要的必需/推荐设置列表
- wallet_key: Graphcast id,
- graph_node_endpoint: 这是 GraphcastAgent 所必需的,但可以稍后抽象,因为 Listener Radio 操作中不使用它,
- graphcast_namespace: 选择要监听的 Graphcast 网络 ('mainnet', 'testnet'),
cargo run
从源代码或构建Docker镜像
动机
Graphcast 网络是一个由众多节点和连接组成的复杂系统,监控它对于维护其性能、识别潜在问题以及确保其健壮性和可靠性至关重要。
- 性能优化:以确定瓶颈和低效区域。
- 故障排除:以快速诊断网络中的问题,减少停机时间并提高可靠性。
- 安全性:立即检测可能表明安全入侵的任何异常活动。
- 规划和预测:记录可用于规划和预测的有价值数据,帮助我们就网络的未来做出明智的决策。
基本功能
- 数据存储:存储感兴趣的数据。
- API:轻松操作和管理存储的数据。
- 指标收集:收集有关网络的各种指标,例如活动节点数量、传输的消息/数据量以及网络的合法性。以后它应跟踪性能指标,如延迟。
- 日志记录:提供网络活动的日志。
未来功能
- 错误检测:检测和记录网络中的错误。
- 警报:当满足某些条件时发送警报,例如当网络的性能低于某个阈值时。
- 高级分析:提供更高级的分析功能,以便更深入地分析网络性能。
- 与其他工具的集成:与网络中的其他工具兼容,以实现更全面的网络监控。
- 用户界面改进:通常更易于使用和直观。
数据库
此工具包含数据库的自动迁移功能,但需要用户创建有效的数据库连接。请确保传入的数据库 URL 是有效的。
传入消息类型约束
- 满足 GraphQL 输出类型
- 可序列化和反序列化的 json 对象
示例消息表
id | 消息 |
---|---|
1 | {"nonce": 1686182179, "network": "mainnet", "payload": {"content": "0x3f...", "identifier": "QmVhiE4nax9i86UBnBmQCYDzvjWuwHShYh7aspGPQhU5Sj"}, "signature": "dff1...", "block_hash": "276e...", "identifier": "QmVhiE4nax9i86UBnBmQCYDzvjWuwHShYh7aspGPQhU5Sj", "block_number": 17431860} |
2 | {"nonce": 1686182183, "network": "goerli", "payload": {"content": "0xc0...", "identifier": "QmacQnSgia4iDPWHpeY6aWxesRFdb8o5DKZUx96zZqEWrB"}, "signature": "dbd2...", "block_hash": "0198...", "identifier": "QmacQnSgia4iDPWHpeY6aWxesRFdb8o5DKZUx96zZqEWrB", "block_number": 9140860} |
... | ... |
🧪 测试
运行 Radio 的单元测试。我们建议使用 nextest 作为测试运行器。安装后,您可以使用以下命令运行测试
cargo nextest run
贡献
依赖关系
~111MB
~2M SLoC