
Switchboard预言机是一个Node.js容器,位于和互联网之间,用于等待来自预言机队列的更新请求。预言机队列以轮询方式向预言机分配更新任务。所有支持链上的Switchboard预言机都需要主网 RPC才能运行任务执行器,以支持获取链上***数据的传统任务类型。
适用于作为Switchboard网络的预言机节点,为***应用提供可靠的链下数据喂价服务。特别适合需要实时或定期更新链上数据的DeFi协议、NFT项目、智能合约应用等场景,确保链上数据的准确性和及时性。
该镜像处于积极开发阶段,并非所有发布标签都保证稳定可用。可通过Switchboard网络统计了解最新版本信息,稳定标签即将推出。
预言机需要密钥对用于支付链上交易费用,可通过以下方式配置:
/home/node/sbv2-oracle/payer_secrets.jsonFS_PAYER_SECRET_PATH环境变量指定自定义密钥路径PAYER_SECRETS或DOCKER_PAYER_SECRET基础环境变量
| 环境变量 | 定义 |
|---|---|
| CHAIN | 必填 类型 - 枚举 [aptos / evm / near / *** / *** / sui] 描述 - 指定监听链上事件的***类型 |
| ORACLE_KEY | 必填 类型 - 字符串 描述 - Switchboard预言机的地址 |
| HEARTBEAT_INTERVAL | 类型 - 整数 默认值 - 30 描述 - 预言机心跳间隔(秒),不同队列有不同要求,推荐值为30 |
| RPC_URL | 必填 类型 - 字符串 描述 - 用于链上网络请求的RPC服务器URL |
| NETWORK_ID | 类型 - 枚举 [mainnet / mainnet-beta / devnet / testnet / localnet] 描述 - 连接的***网络ID,大多数链无需配置 |
| PROGRAM_ID | 类型 - 字符串 描述 - 对应***和网络的Switchboard程序ID |
| TASK_RUNNER_***_RPC | 必填(当$CHAIN非且$NETWORK_ID非mainnet-beta时) 类型 - 字符串 描述 - 用于处理数据任务的***主网RPC URL |
| VERBOSE | 类型 - 布尔值 默认值 - 禁用 描述 - 启用额外日志输出 |
| DEBUG | 类型 - 布尔值 默认值 - 禁用 描述 - 启用调试级日志输出 |
密钥对环境变量
| 环境变量 | 定义 |
|---|---|
| FS_PAYER_SECRET_PATH | 类型 - 文件系统路径 默认值 - /home/node/sbv2-oracle/payer_secrets.json 描述 - 本地密钥文件路径,用于支付链上交易并作为预言机授权 |
| PAYER_SECRETS 或 DOCKER_PAYER_SECRET | 类型 - Docker Secret 描述 - Docker Secret路径,存储用于交易支付和授权的密钥 |
| GOOGLE_PAYER_SECRET_PATH | 类型 - GCP资源路径 描述 - Google Cloud密钥资源路径,用于安全管理密钥 |
| AMAZON_PAYER_SECRET_PATH | 类型 - AWS ARN路径 描述 - Amazon Web Services密钥的ARN路径 |
监控环境变量
| 环境变量 | 定义 |
|---|---|
| PAGERDUTY_EVENT_KEY | 类型 - 字符串 描述 - PagerDuty事件密钥,用于发送告警,未配置则禁用告警功能 |
| HEALTH_CHECK_PORT | 类型 - 整数 默认值 - 8080 描述 - 健康检查服务端口,Docker健康检查将定期访问http://localhost:${HEALTH_CHECK_PORT}/healthz |
| METRICS_EXPORTER | 类型 - 枚举 [prometheus / opentelemetry-collector] 默认值 - prometheus 描述 - OpenTelemetry指标提供程序类型 |
| METRICS_EXPORTER_PORT | 类型 - 整数 默认值 - 9090 描述 - 指标收集服务端口 |
使用docker run命令
bashdocker run -d \ --name switchboard-oracle \ -e CHAIN=solana \ -e ORACLE_KEY=your_oracle_address \ -e RPC_URL=https://api.mainnet-beta.solana.com \ -e HEARTBEAT_INTERVAL=30 \ -v /local/path/to/payer_secrets.json:/home/node/sbv2-oracle/payer_secrets.json \ switchboardlabs/node:latest
使用docker-compose配置
yamlversion: '3' services: switchboard-oracle: image: switchboardlabs/node:latest container_name: switchboard-oracle environment: - CHAIN=*** - ORACLE_KEY=your_oracle_address - RPC_URL=[***] - HEARTBEAT_INTERVAL=30 - VERBOSE=true - METRICS_EXPORTER=prometheus volumes: - /local/path/to/payer_secrets.json:/home/node/sbv2-oracle/payer_secrets.json ports: - "8080:8080" # 健康检查端口 - "9090:9090" # 指标导出端口 restart: unless-stopped
以下是 switchboardlabs/node 相关的常用 Docker 镜像,适用于 Web 开发、API 服务、实时应用 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务