运行只读 RPC 节点
本页覆盖运行只读 OXN RPC 节点的流程。先读硬件要求——SGX 硬件是硬前置。
文档状态
下面的分步命令是基于当前节点架构的指引。具体镜像 tag、配置路径、命令 flag 可能变化;查看 OXN releases 或通过支持渠道问团队获取最新。
前置
确认你有:
- SGX 硬件,
/dev/sgx_enclave与/dev/sgx_provision都在。 - Docker 已安装(20.10 或更新)。
- 足够磁盘空间(测试网 100+ GB)。
- Intel DCAP QCNL 已配置(
/etc/sgx_default_qcnl.conf)。
验证 SGX 设备节点:
ls -la /dev/sgx_enclave /dev/sgx_provision
# 预期:两个字符设备节点,属主正确
基于 Docker 的部署
推荐通过 Docker 运行 OXN 节点。拉节点镜像:
docker pull zkpchain/sapphire-localnet:latest # 占位 tag;参考最新 release
在主机上准备数据目录:
sudo mkdir -p /data/oxn-node
sudo chown $USER /data/oxn-node
启动容器:
docker run -d \
--name oxn-rpc-node \
--restart unless-stopped \
-v /data/oxn-node:/serverdir/node \
-v /var/run/aesmd:/var/run/aesmd \
-v /etc/sgx_default_qcnl.conf:/etc/sgx_default_qcnl.conf:ro \
--device /dev/sgx_enclave \
--device /dev/sgx_provision \
-p 8545:8545 \
zkpchain/sapphire-localnet:latest
关键 flag:
-v /data/oxn-node:/serverdir/node——持久链状态。-v /var/run/aesmd:/var/run/aesmd——SGX AESM service 套接字。--device /dev/sgx_enclave --device /dev/sgx_provision——SGX 访问。-p 8545:8545——JSON-RPC 端点。
等待同步
初始同步要时间——测试网新节点通常 5 分钟以上,取决于链大小。监控:
docker logs -f oxn-rpc-node
看到 Total: 或 Available: 之类的行说明链到达就绪。
节点起来后查询:
curl http://localhost:8545 \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"eth_chainId","id":1}'
# 预期:{"jsonrpc":"2.0","id":1,"result":"0xba"}