环境
两套并行的部署。今天它们指向同一份 X Layer 测试网合约;搭建 staging 是 为了主网上线后,你可以在不影响生产 URL 的前提下随便折腾。
URL 一览
| 入口 | 生产 | 测试(沙盒) |
|---|---|---|
| Web 控制台 (dapp) | https://app.xtruth.xyz | https://app-dev.xtruth.xyz |
| JSON-RPC 代理 | https://app.xtruth.xyz/api/rpc | https://app-dev.xtruth.xyz/api/rpc |
| 官网 / 文档 | https://xtruth.xyz | https://www-dev.xtruth.xyz |
| Subgraph | https://subgraph.xtruth.xyz | https://subgraph.xtruth.xyz (共享) |
| 链 | X Layer 测试网 (chainId 1952) | X Layer 测试网 (chainId 1952) |
| 保证金币 | USDC_TEST (0xcb8b…c79d) | USDC_TEST (0xcb8b…c79d) |
| OOv3 | 0xB10B…AF43 | 0xB10B…AF43 |
测试网阶段两套 URL 都打到同一条链。主网上线后,生产 切到主网合约; 测试 仍然钉死在测试网,方便开发者继续迭代。
我应该用哪一个?
- 写集成代码、发测试断言、随便破坏 → 用测试环境。 随时可以重置,无真实资金。
- 演示、录视频、给真实用户用 → 用生产。
在你的代码里接测试环境
import { createPublicClient, http, defineChain } from "viem";
const xlayerTestnet = defineChain({
id: 1952,
name: "X Layer Testnet (xtruth dev)",
nativeCurrency: { name: "OKB", symbol: "OKB", decimals: 18 },
rpcUrls: {
default: { http: ["https://app-dev.xtruth.xyz/api/rpc"] },
},
});
const client = createPublicClient({ chain: xlayerTestnet, transport: http() });
钱包写交易时,通过 wallet_addEthereumChain 也指向同一个代理(测试控制台
的 /oracle/new 页面有"一键添加"按钮 —— 跟生产一致,但标识为
(xtruth dev))。
Subgraph 端点
两套环境共用 subgraph URL。完整列表见 Subgraph API。
源码
- App(Workers + OpenNext):
guessmarket/xtruth-app——main分支为生产,dev分支为 staging。 - 官网(本站,静态导出到 CF Pages):
guessmarket/xtruth-www。