摘要
Phala Network 是一个 Polkadot 平行链,利用可信执行环境(TEE)提供机密智能合约。要与 Phala 交互,开发者需要可靠的 RPC 端点来读取链上数据、提交交易和部署 Phat Contracts。本文涵盖 Phala RPC 链设置、如何连接以及选择 RPC 提供商时的注意事项。
Phala RPC 决策清单
在集成 Phala RPC 端点之前,请评估以下关键因素:
| 标准 | 检查内容 | 重要性 |
|---|---|---|
| 端点类型 | HTTPS 与 WebSocket | WebSocket 用于实时订阅(例如新区块、事件)。 |
| 网络支持 | 仅主网或也包括测试网 | 测试网端点对于开发和预发布环境至关重要。 |
| 速率限制 | 每秒请求数(RPS)和月度配额 | 超出限制可能导致请求被丢弃;选择与您的流量匹配的计划。 |
| 归档数据 | 完整归档与修剪状态 | 归档节点允许历史查询(例如过去的余额、事件)。用于浏览器和分析。 |
| 可靠性 | 运行时间历史、冗余、故障转移 | 生产应用需要一致的可用性;寻找具有 SLA 和多区域部署的提供商。 |
| 延迟 | 地理邻近性和响应时间 | 较低的延迟改善用户体验,尤其是交互式 dApp。 |
| 安全性 | TLS 加密、身份验证、DDoS 保护 | 防止数据拦截并确保端点可用性。 |
| 定价模式 | 按需付费与固定月费 | 根据您的使用模式选择;不可预测的峰值可能更适合固定费率计划。 |
什么是 Phala Network?
Phala Network 是一个 Polkadot 平行链,利用可信执行环境(TEE)将机密智能合约引入 Web3。其独特的架构将公共区块链与安全飞地相结合,实现无需信任、私密且可扩展的计算。开发者构建 Phat Contracts——一种链下程序,可以在保持数据隐私的同时与外部 API 和区块链交互。
要与 Phala 交互,应用程序需要一个 RPC 端点。该端点充当区块链的网关,允许您读取链上数据、提交交易和部署智能合约。选择合适的 RPC 提供商对于性能、可靠性和成本至关重要。
Phala 链设置
Phala Network 运行以下链参数:
- 链 ID: 2035 (0x7f3)
- 原生代币: PHA (Phala)
- 出块时间: ~12 秒(Polkadot 中继链)
- 共识机制: 提名权益证明(NPoS)通过 Polkadot
- 网络类型: 主网(平行链)
为了 EVM 兼容性,Phala 还支持 EVM 层。EVM 侧的链 ID 也是 2035。
如何连接到 Phala RPC
您可以通过 HTTPS 或 WebSocket 使用标准 JSON-RPC 调用连接到 Phala。以下是使用 curl 获取最新区块哈希的示例:
curl -X POST https://rpc.phala.network \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"chain_getBlockHash","params":[0],"id":1}'
对于 WebSocket 连接(例如使用 wscat 或在 JavaScript 中):
const WebSocket = require('ws');
const ws = new WebSocket('wss://api-phala.dwellir.com/02b83e9c-732e-4b15-b38e-9f24b75e8d66');
ws.on('open', function open() {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'chain_getBlockHash',
params: [0],
id: 1
}));
});
ws.on('message', function incoming(data) {
console.log(data.toString());
});
选择 Phala RPC 提供商
在选择 Phala 的 RPC 提供商时,请考虑以下因素:
- 公共端点与私有端点: 公共端点(如
https://rpc.phala.network)免费但通常有速率限制且可靠性较低。对于生产环境,建议使用私有或专用端点。 - 提供商功能: 寻找提供专用节点、归档数据、WebSocket 支持和全局负载均衡的提供商。
- 定价: 比较按需付费与固定费率计划。一些提供商为低用量提供免费层。
OnFinality 提供托管的 Phala RPC 端点和专用节点,定价灵活。您可以在 Phala 网络页面 和 RPC 定价页面 上找到更多详细信息。
Phala 常用 RPC 方法
以下是与 Phala 交互时常用的一些 JSON-RPC 方法:
| 方法 | 描述 |
|---|---|
chain_getBlockHash | 根据区块编号获取区块哈希 |
chain_getBlock | 获取完整区块详情 |
state_getStorage | 读取存储值 |
state_call | 调用运行时 API |
system_health | 检查节点健康状态 |
system_networkState | 获取网络状态 |
完整列表请参考 Substrate RPC 文档。
Phala RPC 问题排查
- 连接被拒绝或超时: 检查端点 URL 是否正确,以及您的防火墙是否允许出站连接。尝试其他提供商。
- 速率限制: 如果收到 HTTP 429 或类似错误,请降低请求频率或升级到更高限制的计划。
- 数据不一致: 确保您连接到同一网络(主网与测试网)。历史查询可能需要归档节点。
- WebSocket 断开: 在应用程序中实现重连逻辑。某些提供商有空闲超时。
关键要点
- Phala Network 是一个 Polkadot 平行链,利用 TEE 提供机密智能合约。
- RPC 端点对于读取链上数据和提交交易至关重要。
- 根据可靠性、速率限制、归档支持和定价选择提供商。
- OnFinality 提供托管的 Phala RPC 和专用节点;详情请参见 支持的网络。
- 在承诺付费计划之前,始终使用免费层进行测试。
常见问题
Phala RPC 端点是什么?
公共 RPC 端点是 https://rpc.phala.network。对于生产环境,请考虑使用 OnFinality 等提供商的私有端点。
Phala 支持 WebSocket 吗? 是的,WebSocket 端点可用于实时订阅。请向您的提供商咨询具体 URL。
Phala 的链 ID 是什么? 链 ID 是 2035 (0x7f3)。
如何获取用于 gas 的 PHA 代币? PHA 是原生代币。您可以通过交易所或桥接获取。详情请参见 Phala 文档。
我可以运行自己的 Phala 节点吗? 可以,但这需要大量资源和维护。像 OnFinality 这样的托管服务提供专用节点,无需运营开销。
Phala 主网和测试网有什么区别? 测试网(Khala)用于开发和测试。它有自己的 RPC 端点和代币(tPHA)。