Chia Network:钱包发布测试与通行密钥测试套件

桌面钱包版本在三个系统上完成测试,浏览器钱包则用真实的通行密钥做了端到端测试。

客户
Chia Network
行业
BlockchainDigital Assets
工作范围
质量保证(QA)测试测试自动化端到端测试跨平台测试
技术栈
PlaywrightTypeScriptWebAuthnGitHub
状态
2024 年交付
每个候选发布版本覆盖的系统数
3
首个版本的优先测试项
42
已测试的钱包版本
2
Chia 参考钱包以全节点模式运行在测试网络上,一笔 NFT 报价已确认

项目需求#

Chia 的参考钱包把耕种(farming)工具、全节点和钱包整合在同一个安装包中,提供 Windows、macOS 和 Linux 版本。每个版本都会先以候选发布版本的形式推出,通常在大约两周内推出 2 到 4 个,每一个都必须在三个系统上都能正常运行。

Chia 的安全团队请我们测试这些候选版本。他们手上有一份约 80 项的手动测试清单,覆盖从安装、绘图(plotting)、矿池(pooling)到代币、NFT 和报价的各个环节。他们从中挑出了对首个版本最重要的 42 项,要求在 Debian Linux、Windows 11 和一台 Apple Silicon Mac 上的应用中运行。每次测试使用的都是 Chia 自家发布流水线生成的安装程序,也就是用户下载的同一批文件。

三个系统,每个候选版本#

每台机器都必须把 Chia 节点同步到 Chia 的测试网络 testnet11。三台机器都卡在了加载密钥环(keyring)这一步,而其中一个候选版本的 Windows 构建打不开窗口。Chia 团队给出了答案(见下文),三台机器很快都运行起来。Chia 向我们的钱包发送了测试代币和 NFT,我们又在命令行中铸造了更多 NFT,每个都绑定到一个去中心化身份。

我们的团队在 Chia 给定的 3 天内,把 2.4.3 的 3 个候选发布版本逐一在三个系统上跑完,并把每一项结果记录在 Chia 工程师可以查阅的表格中。失败项被提交到 Chia 的 GitHub,Chia 的工程师会为其打上标签,转给他们的 QA 团队,然后与我们逐一处理,索取日志,并在下一个候选版本上再次尝试。

我们的一些发现超出了那 42 项测试的范围。在 Linux 和 Mac 上的签名对话框中,被选来签署消息的身份溢出了它的文本框。Chia 的工程师在 2 天后给出了修复,并随 2.4.4 发布。当另一个钱包接受了一笔 NFT 报价时,发起这笔报价的钱包仍显示它处于等待状态;我们在 Chia 一个尚未关闭的 issue 中补充了复现步骤,2.4.4 将其列为已修复。到了 2.4.4,Chia 改为由我们团队的一名全职测试人员负责,这名测试人员以同样的方式跑完了该版本的 3 个候选发布版本,并在 Chia 新网站上线前检查了其中的失效链接。

[ 让节点做好测试准备 ]

难点:没有密码的钱包#

在发布测试期间,Chia 还请我们的团队测试它的下一代钱包。Cloud Wallet 运行在浏览器中,没有需要同步的节点。Chia 希望有更多自动化测试,以及一套能随其 QA 团队一同扩展的流程,并选定了 Playwright。

Cloud Wallet 中的每一次注册、登录和发送都需要用通行密钥批准。通行密钥的提示框属于操作系统和浏览器,而不属于页面,因此 Playwright 无法触及。界面之下是一条实时运行的区块链:新建一个保险库就是一笔必须得到确认的交易,一笔发送必须先进入内存池(mempool)再完成结算,而助记词只会出现一次。

Playwright 测试套件#

Saif Pasha 构建了一套 Playwright 测试套件,针对 Cloud Wallet 在 testnet11 上的开发版本,覆盖其后端和前端,我们的 QA 团队从旁协助。Chia 的产品团队把每项功能都写成了带验收标准的用户故事。测试就来自这些故事,从欢迎消息一直到通行密钥页面。

Saif 把测试账户的通行密钥存放在一个密码管理器扩展程序中,并把这个扩展程序加载到 Playwright 控制的浏览器里。扩展程序在浏览器内部响应钱包的通行密钥请求,测试可以在那里点击它。测试会登录并创建一个保险库,复制助记词再粘贴回去以确认,然后重命名并删除这个保险库。它还会带手续费发送测试用 XCH,用通行密钥批准这笔发送,然后跟踪它从未签名到进入内存池、再到完成结算的全过程。地址簿、代币和设置也各有专门的测试流程。

首次完整运行全部通过。随后,Chia 的产品团队要求把套件放进 Chia 自己的 GitHub,在那里它遵循公司的提交规范,使用签名提交,并在主仓库的 CI/CD 流水线中运行。我们的 QA 团队在每次 Cloud Wallet 发布时都会同步更新它。

[ 测试套件如何处理通行密钥和真实资金 ]

成果#

Chia 发布参考钱包 2.4.3 以及之后的 2.4.4 时,每一个候选发布版本都已在 Linux、macOS 和 Windows 上测试过,我们团队发现的缺陷也都已提交到 Chia 的 GitHub。它的 Cloud Wallet 在 Chia 自己的 GitHub 中有一套 Playwright 测试套件,对其进行端到端测试:用真实的通行密钥登录,并在 testnet11 上转移真实的测试资金。

Chia 为 Cloud Wallet 发布前测试周提名的测试人员中,有一位是我们团队的 QA 工程师。Chia 的新钱包经过端到端测试(包括通行密钥)后面向公众发布。

Saif's team had every release candidate tested on Windows, Mac and Linux within three days, and their bug reports were clear enough that we could get straight to fixing. They got the Cloud Wallet's end-to-end tests running too.
Chia Network 团队

由 Saif Pasha 主导。 由 Silverthread Labs 团队构建。 © 2026 Saif Pasha 与 Silverthread Labs。 编号 SL-STL-QA-2412

最近更新: November 10, 2026

返回项目

[ 工作流程 ]

免费自动化审计

我们帮您找出占用最多成本的那 20% 手工作业,并清晰指出如何将其消除。

STEP 1.0
告诉我们痛点

告诉我们痛点

一次 30 分钟通话。请带我们走一遍您的日常运营,我们会发现您早已习以为常的瓶颈。

STEP 2.0
为机会排序

为机会排序

我们按影响与投入对每个机会评分,让您一眼看清哪些环节能让 AI 省下最多时间与金钱。

STEP 3.0
拿到可执行的方案

拿到可执行的方案

一份按优先级排好的路线图,可立即落地。与我们共同执行或自行实施皆可,成果永远归您所有。