您将构建什么
在本指南结束时,您将拥有一个工作中的 gRPC 流,可以实时监控 Solana 账户更新,并具有自动重新连接和错误处理功能。1
选择您的访问方法
选择您希望如何访问 Yellowstone gRPC:
LaserStream
推荐给大多数用户
- 多租户,高可用性
- 自动故障转移和回填
- 使用 API 密钥快速设置
- 需要 Developer+ 计划(devnet),Professional+(mainnet)
专用节点
2
设置您的环境
创建一个新项目并安装依赖项:
- TypeScript/JavaScript
- Rust
- Go
3
获取您的凭据
获取您的 gRPC 端点和身份验证信息:
- LaserStream
- 专用节点
- 在 dashboard.helius.dev 注册 Developer+ 计划(devnet)或 Professional 计划(mainnet)
- 从仪表板获取您的 API 密钥
- 选择您的区域端点:
- 美国东部:
https://laserstream-mainnet-ewr.helius-rpc.com
- 美国西部:
https://laserstream-mainnet-slc.helius-rpc.com
- 欧洲:
https://laserstream-mainnet-fra.helius-rpc.com
- 亚洲:
https://laserstream-mainnet-tyo.helius-rpc.com
https://laserstream-devnet-ewr.helius-rpc.com
4
创建您的第一个流
使用以下完整示例创建一个强大的流管理器:
- TypeScript
- Rust
- Go
创建 创建 运行你的流:
stream-manager.ts
:main.ts
:5
测试你的流
运行你的应用程序并验证其工作:
- 启动你的流 使用适合你的语言的命令
- 在控制台中查找连接确认
- 等待账户更新 - 你应该会看到USDC铸币账户的定期更新
- 测试重新连接 通过暂时断开互联网连接
- 验证保活 通过每30秒观察一次pong消息
接下来是什么?
现在你有了一个工作的gRPC流,探索这些监控指南:故障排除
连接问题
连接问题
症状: 连接超时,身份验证错误解决方案:
- 验证你的端点URL和API密钥
- 检查你的计划是否包括gRPC访问
- 确保你使用的是正确的端口(通常为专用节点的2053)
- 对于LaserStream,确保你至少有开发者计划(devnet)或专业计划(mainnet)
未接收到数据
未接收到数据
症状: 流连接成功但没有账户更新出现解决方案:
- USDC 铸币更新不频繁 - 尝试监控一个更活跃的账户
- 检查您的承诺级别(尝试
PROCESSED
以获取更频繁的更新) - 验证您的账户过滤器配置
- 监控一个代币账户而不是铸币以获得更多活动
流断开连接
流断开连接
症状: 频繁断开连接,重新连接循环解决方案:
- 实现指数退避(包含在上面的示例中)
- 检查网络稳定性
- 确保保活 ping 正常工作(每 30 秒一次)
- 监控服务器端速率限制
最佳实践
生产就绪检查清单:
- ✅ 为重新连接实现指数退避
- ✅ 每 30 秒使用保活 ping
- ✅ 处理所有流事件(数据、错误、结束、关闭)
- ✅ 异步处理数据以避免阻塞
- ✅ 监控连接健康状况并在故障时发出警报
- ✅ 根据您的用例使用适当的承诺级别
- ✅ 尽可能具体地过滤数据以减少带宽