[!WARNING]
此仓库现已弃用 Leather Web Extension 已迁移至我们的 monorepo。所有问题和错误报告应在此处提交。
查看旧扩展 README.md
Leather
Leather 是构建在 Bitcoin 上的应用最受欢迎且最值得信赖的钱包。通过这款经过实战检验的 Stacks 区块链钱包,连接应用并管理由 Bitcoin 和 Bitcoin L2 保障的资产。
Contibuting
请参阅我们的贡献指南
Development
本应用是一个 Web Extension。无法将其作为独立的 Web 应用程序运行。
src 目录下的每个子项代表其运行的脚本上下文。
Install packages
pnpm i
开发模式
pnpm dev
可选:运行测试应用
我们提供了一个测试应用,可与该扩展程序配合使用。它可方便地访问扩展程序所能执行的各种功能。
在另一个终端中,运行:
pnpm dev:test-app
在浏览器中加载扩展
您需要将其添加到您选择的浏览器中。Leather 仅支持 Chromium 和 Firefox 浏览器。当您运行 pnpm dev 时,它会将应用程序编译到 /dist 文件夹
测试
package.json 中提供了多个测试脚本。
集成测试要求在运行之前先构建扩展。可以使用以下命令为测试构建扩展。
pnpm build:test
集成测试使用 Playwright,这需要系统安装其所需的浏览器。以下命令将安装 Playwright 所需的所有内容。
pnpm playwright install --with-deps
请注意,已安装的浏览器与正在使用的 Playwright 版本相关联,在某些情况下(例如升级 Playwright 或切换分支时)可能需要再次运行上述命令。阅读文档以获取更多信息。
所有集成测试均可使用以下命令运行:
pnpm test:integration
要运行一组测试,您可以使用:
pnpm playwright test specs/TEST.spec.ts
pnpm playwright test tests/specs --shard=3/8
要在运行测试时获取更多信息,您可以向 playwright 传递 --debug 标志或 --ui 标志。
在本地运行测试时,您必须在 .env 文件中添加以下内容:
WALLET_ENVIRONMENT=testing
单元测试
可以使用 vitest 运行单元测试:
pnpm test:unit
代码检查
代码检查和单元测试可以同时进行:
pnpm checks
生产环境
或者,技术 用户可以在其机器上安装最新版本的 node 后,执行以下步骤。
从源代码构建
如果您已通过 Git 拉取了该仓库,请在该仓库的根目录内运行以下命令:
pnpm && pnpm prepare && pnpm build
该扩展现已构建在 ./dist 文件夹中。
Firefox 审阅者
要在 Firefox 模式下构建该扩展,需要设置 TARGET_BROWSER=firefox 变量。
pnpm && pnpm prepare && TARGET_BROWSER=firefox pnpm build
请注意,在干净环境中构建时,此处的代码与提交的构建代码可能存在差异。这是因为某些变量是在生产构建的 CI 范围内设置的。
安全
我们将系统安全视为最高优先级。但无论我们在系统安全方面投入多少努力,仍可能存在漏洞。
如果您发现安全漏洞,请使用以下任一沟通方式向我们报告:
- 在我们的 HackerOne 计划 中报告安全问题
- 直接向 security@leather.io 报告安全问题
请注意,此电子邮件仅用于报告安全漏洞。如有支持咨询,请联系 contact@leather.io。我们真诚地感谢您负责任地披露您的发现,并将考虑您的贡献以予以认可。
审计报告
2021 年第一季度,Leather 与 Least Authority 合作,这是一家在加密领域拥有经验的领先安全咨询公司,对 Leather 进行了审计。2021 年 4 月 29 日,在解决了初步发现中描述的重大问题,并经过 Least Authority 团队的最终批准后,提交了最终报告。