摘要
Solana deadnet 是社区对已弃用或无法正常运行的 Solana 网络环境的称呼,经常与 devnet 或 testnet 混淆。本文阐明了 deadnet 的含义、它与活跃集群的区别,以及如何为开发和测试选择可靠的 RPC 端点。
快速建议:你应该使用哪个 Solana 集群?
如果你在搜索 Solana 开发资源时遇到了“deadnet”这个词,首先要知道的是 deadnet 不是官方的 Solana 集群。它是社区对不再维护、已关闭或仅用于测试而不可靠的网络环境的标签。当你需要一个稳定的环境来构建和测试时,你应该使用 Solana devnet 或 testnet。
对于大多数开发工作流,Solana devnet 是正确的选择。它是公开可访问的,有免费 SOL 的水龙头,并且专为开发者测试程序和 dApp 而设计。如果你正在压力测试网络升级或验证器性能,testnet 更合适。对于生产应用程序,你需要 mainnet。
要快速开始,你可以使用像 OnFinality 这样的提供商提供的公共 RPC 端点。例如,OnFinality 的 Solana mainnet 公共端点是 https://solana.api.onfinality.io/public。对于 devnet,你可以在 Solana Devnet 网络页面 上找到端点。
“deadnet”到底是什么意思?
“deadnet”一词不是官方的 Solana 术语。它出现在社区讨论中,有时也出现在代码注释中,用来描述不再运行的网络。这可能指的是:
- 已被新测试网取代的弃用测试网。
- 已关闭的本地验证器。
- 已停止或不再维护的公共 RPC 端点。
由于 Solana 有多个集群——mainnet、testnet 和 devnet——每个都有不同的用途,当某个端点停止工作时,可能会产生混淆。当开发者遇到无响应的 RPC URL 时,他们可能会称之为“deadnet”。
Solana 集群一览
Solana 运行着几个不同的集群,每个都有特定的角色。下表总结了主要区别:
| 集群 | 用途 | 端点示例 | 备注 |
|---|---|---|---|
| Mainnet | 实时生产环境 | https://api.mainnet.solana.com | 交易需要 SOL |
| Testnet | 压力测试网络升级 | https://api.testnet.solana.com | 专注于验证器性能 |
| Devnet | 开发者测试和实验 | https://api.devnet.solana.com | 提供公共水龙头 |
| Deadnet(非正式) | 已弃用或无法运行的环境 | 不适用 | 避免用于开发 |
请注意,像 api.mainnet.solana.com 这样的公共端点有速率限制,可能不适合生产工作负载。为了可靠访问,请考虑使用专用的 RPC 提供商。
为什么“deadnet”会出现在搜索结果中
当你搜索“deadnet solana”时,你可能会看到关于 Solana 从 FTX 崩溃中恢复的结果,有些人开玩笑说 Solana“已死”。那是不同的语境。在技术讨论中,“deadnet”通常指不再活跃的网络。
例如,Solana 多年来有多个测试网。当一个测试网被停用时,其端点停止工作。尝试使用这些旧端点的开发者可能会称之为“deadnet”。这就是为什么始终检查官方 Solana 文档以获取当前活跃集群列表很重要的原因。
如何连接到可靠的 Solana RPC 端点
为了避免死端点的挫败感,你应该使用信誉良好的 RPC 提供商。OnFinality 为 Solana mainnet 和 devnet 提供公共和专用端点。以下是如何使用 curl 向 Solana mainnet 端点发出 JSON-RPC 请求的示例:
curl https://solana.api.onfinality.io/public \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}'
此请求检查节点的健康状况。成功的响应将返回 "result": "ok"。如果你在 devnet 上开发,你可以使用 Solana Devnet 网络页面 上的 devnet 端点。
使用 Solana 测试网络时的常见陷阱
即使你使用了正确的集群,也可能会遇到问题。以下是一些常见陷阱以及如何避免它们:
- 使用错误的集群 ID:每个集群都有唯一的创世哈希。确保你的客户端配置为正确的集群。
- 忽略速率限制:公共端点有速率限制。对于大量测试,请考虑专用节点。
- 不检查水龙头:Devnet 交易需要 SOL。使用官方水龙头获取免费 SOL。
- 假设 testnet 是为开发者准备的:Testnet 主要用于网络压力测试,而不是 dApp 开发。使用 devnet 进行开发。
如何为 Solana 选择 RPC 提供商
在选择 RPC 提供商时,请考虑以下标准:
| 标准 | 检查什么 | 为什么重要 |
|---|---|---|
| 网络覆盖 | 提供商是否支持 mainnet、devnet 和 testnet? | 不同阶段需要不同的集群 |
| 传输支持 | 是否提供 HTTPS 和 WebSocket? | 实时订阅需要 WebSocket |
| 速率限制 | 请求限制是多少? | 公共端点可能会限制你的应用 |
| 专用选项 | 能否获得专用节点? | 对于生产环境,专用节点提供更高的稳定性 |
| 定价 | 定价是否透明? | 避免意外成本 |
OnFinality 支持 Solana mainnet 和 devnet,提供 HTTP 和 WebSocket 传输。你可以在 RPC 定价页面 上比较计划,并在 网络页面 上查看支持的完整网络列表。
调试无响应的端点
如果你遇到“死”端点,这里有一个系统的调试方法:
- 检查端点 URL:确保你使用了正确的集群 URL。
- 使用 curl 测试:使用简单的
getHealth请求查看节点是否响应。 - 检查你的网络:防火墙或代理可能会阻止请求。
- 查找弃用通知:Solana 文档通常会宣布集群何时被停用。
- 更换提供商:如果端点持续宕机,请尝试其他提供商,如 OnFinality。
关键要点
- Deadnet 不是官方的 Solana 集群;它是社区对无法运行的网络的称呼。
- 使用 devnet 进行开发,使用 testnet 进行压力测试。
- 始终验证端点,参考官方文档或可信提供商。
- 考虑使用专用 RPC 提供商,用于生产工作负载,以避免速率限制和停机。
- OnFinality 为 mainnet 和 devnet 提供可靠的 Solana RPC 端点。
常见问题解答
什么是 Solana deadnet?
Deadnet 是 Solana 网络环境的非正式术语,指不再运行或维护的网络。它不是官方集群。
deadnet 和 devnet 一样吗?
不。Devnet 是面向开发者的活跃测试网络。Deadnet 指已弃用或无法运行的网络。
如何获取 Solana devnet RPC 端点?
你可以使用公共 devnet 端点 https://api.devnet.solana.com 或提供商端点,如 OnFinality 的。有关详细信息,请参阅 Solana Devnet 网络页面。
我可以将 deadnet 用于生产环境吗?
不能。你绝不应将死网络或已弃用的网络用于生产环境。生产应用程序应使用 mainnet。
在哪里可以找到活跃的 Solana 集群列表?
官方 Solana 文档列出了当前集群及其端点。你也可以查看 OnFinality 的 支持的网络页面。
如果我的 RPC 端点停止工作,我该怎么办?
首先,验证端点 URL 并检查是否有任何弃用通知。如果问题仍然存在,请切换到可靠的提供商,如 OnFinality。