从 Quasar Cloud 迁移至社区版 (Migrate to Community)
您可以将云端组织完整打包为一个加密归档,并一键导入至您的 自建 Quasar Community Edition 节点。所有应用完整保留原有的 API 凭据,所有 Webhook 节点保留原有 HMAC 验签私钥。您只需更新客户端指向的 API 域名,所有的 Webhook 接收端逻辑完全零改造。
| 平滑迁移至自建节点 | 保留在 Quasar Cloud 托管端 |
|---|---|
| 组织整体配置(适配自建节点的无限配额;自建节点超级管理员成为唯一所有者) | 组织成员列表与个人登录凭据(自建版为极简单管理员模型) |
| 应用集群:API Key、IP/域名白名单、RPC 自定义覆盖、Alchemy/QuickNode/Pimlico 密钥 | 云端计费历史、余额账单及扣费审计流水 |
| 全部 Webhook 订阅节点及其加密的 HMAC 验签私钥 | Quasar Cloud 专有系统级 Webhook |
| 全量链上历史交易明细,包含反洗钱 (AML) 筛查快照 | |
| 近 30 天内的 Webhook 历史投递与重试执行日志 | |
| Payments 应用关联数据:已支持的加密货币收款通道及发票明细 |
📦 导出组织数据
仅组织的 所有者 (Owner) 具备导出权限。登录 Quasar 开发者控制台 ,进入组织管理页面,选择 Export Organization 并输入登录密码(若开启 2FA 则需输入两步验证码)进行安全确认。
系统将仅在界面上展示一次 导入解密密钥 (Import Key)(前缀为 QEX1-…)。该密钥服务端不存根,请务必在点击下载前复制保存。下载链接有效期为 10 分钟;出于防数据遍历安全策略,每个组织每 10 分钟仅允许发起一次导出。组织所有者将收到导出通知邮件。
生成的
.qex 文件采用 AES-256-GCM 高强度加密,内部包含组织所有的核心密钥和敏感配置。请将 .qex 文件与解密密钥严格物理隔离存放。📥 导入自建社区版节点
请确保您的自建社区版运行版本不低于 0.2。登录私有节点的 /admin 控制面板,在首页点击 Import data from Quasar Cloud:
- 选择本地的
.qex加密文件并填入导入密钥(大小写不敏感,支持包含空格)。 - 安全解析与预检 (Analyze):节点将在写入数据库之前完整解密并核对依赖,逐项列出即将新增、更新或跳过的资源项。
- 输入管理员密码确认授权,点击开始导入。控制台将实时输出导入流水与执行审计报告。
节点将自动使用私有节点的 ENCRYPTION_KEY 重新对所有敏感密钥进行加密固化。迁移时仍处于 Pending 状态的交易将被私有节点的追踪引擎平滑接管。
节点预检将自动拦截并报告以下不合规项:
- 不符合节点外发网络策略的 RPC 节点:如私有网段或未授权的回环地址。
- 生产环境下不合规的 Webhook:如生产模式下的明文 HTTP 链接或超出限制的重复 localhost 节点。
🔁 生产流量平滑割接
- 首次将组织数据完整导入至自建节点。
- 将前端与后端应用的请求地址指向自建节点:更新
@tuwaio/quasar-sdk的baseUrl、前端preFlightTxCheck的探测域名以及 CLI 的--api-url转发参数。所有应用的 Secret Key 保持原样不变。 - 执行增量二次同步:进行第二次导出与导入。二次导入具备严格幂等性,仅补充割接期间产生的增量交易并同步终态,绝不覆盖您在自建节点上手动修改的应用配置。
- 确认运行平稳后,在 Quasar Cloud 上停用或注销云端旧组织。
🧯 导入异常故障排查
| 异常提示信息 | 排查定位与解决方式 |
|---|---|
| The import key does not match this export | 解密密钥不匹配。请确认输入的 Key 属于当前下载的 .qex 归档文件。 |
| The export is damaged or incomplete | 文件损坏或网络传输不完整。请重新从云端发起导出并下载完整文件。 |
| This export uses a newer format version | 归档版本高于当前节点。请拉取最新的 Quasar Community Edition Docker 镜像升级后再试。 |
| The export collides with data on this node | 归档中的应用、密钥或 Endpoint 与节点上其他组织发生冲突。预检已中止,无数据写入。 |
| The file is larger than the proxy allows | 反向代理拦截了大请求体。请调整 Nginx/Traefik 或 CDN 的 client_max_body_size 上限。 |
最后更新于