MetaMask 支持 Firefox、Google Chrome 和基于 Chromium 的浏览器。我们建议使用最新的可用浏览器版本。
本地建设
- 安装Node.js版本 14
- 如果您使用的是nvm(推荐),运行
nvm use
将自动为您选择正确的节点版本。
- 如果您使用的是nvm(推荐),运行
- 安装 Yarn
- 安装依赖项:(
yarn setup
不是通常的安装命令) - 将
.metamaskrc.dist
文件复制到.metamaskrc
INFURA_PROJECT_ID
用您自己的个人Infura 项目 ID替换该值。- 如果调试 MetaMetrics,您需要为
SEGMENT_WRITE_KEY
Segment write key添加一个值。
- 将项目构建到
./dist/
文件夹中yarn dist
。
未压缩的构建可以在 中找到/dist
,压缩构建可以在构建后找到/builds
。
有关构建系统使用信息,请参阅构建系统自述文件。
贡献
开发构建
要开始开发构建(例如使用日志记录和文件监视),请运行yarn start
.
要 在应用程序旁边启动React DevTools和Redux DevTools Extension,请使用yarn start:dev
.
- React DevTools 将在单独的窗口中打开;不需要浏览器扩展
- Redux DevTools 需要作为浏览器扩展安装。打开 Redux Remote Devtools 以访问 Redux 状态日志。这可以通过在 Web 浏览器中右键单击以调出上下文菜单、展开 Redux DevTools 面板并单击 Open Remote DevTools 或单击 Redux DevTools 扩展图标并单击 Open Remote DevTools 来完成。
- 您还需要在远程开发工具设置中选中“使用自定义(本地)服务器”复选框,使用默认服务器配置(主机
localhost
、端口8000
、安全连接复选框未选中)
- 您还需要在远程开发工具设置中选中“使用自定义(本地)服务器”复选框,使用默认服务器配置(主机
运行单元测试和 Linting
使用yarn test
.
要仅运行单元测试,请运行yarn test:unit
. 要使用文件观察器连续运行单元测试,请运行yarn watch
.
您可以使用 自行运行 linter yarn lint
,并且可以使用 自动修复一些 lint 问题yarn lint:fix
。您还可以仅对本地更改运行这两个命令,以分别使用yarn lint:changed
和节省时间yarn lint:changed:fix
。
运行端到端测试
我们的 e2e 测试套件可以在 Firefox 或 Chrome 上运行。在任何一种情况下,首先通过运行yarn build:test
.
Firefox e2e 测试可以使用yarn test:e2e:firefox
.
Chrome e2e 测试可以使用 运行yarn test:e2e:chrome
,但只有在您安装了 Chrome v79 时它们才能工作。将chromedriver
软件包更新为与您的本地 Chrome 安装匹配的版本,以便在较新的 Chrome 版本上运行 e2e 测试。
更改依赖项
无论何时更改依赖项(在package.json
或 中添加、删除或更新yarn.lock
),都有各种文件必须保持最新。
yarn.lock
:yarn setup
更改后再次运行以确保yarn.lock
已正确更新。
- 中的
allow-scripts
配置package.json
- 运行
yarn allow-scripts auto
以allow-scripts
自动更新配置。此配置确定是否允许运行包的安装/安装后脚本。查看每个新包以确定是否需要运行安装脚本,并在必要时进行测试。 - 不幸的是,
yarn allow-scripts auto
在不同平台上的行为会不一致。macOS 和 Windows 用户可能会看到与可选依赖项相关的无关更改。
- 运行
- LavaMoat 中的自动生成策略
lavamoat/node/policy.json
- 运行
yarn lavamoat:auto
以重新生成此策略文件。查看更改以确定授予每个包的访问权限是否合适。 - 不幸的是,
yarn lavamoat:auto
在不同平台上的行为会不一致。macOS 和 Windows 用户可能会看到与可选依赖项相关的无关更改。
- 运行
建筑学
Development
yarn
yarn start
Build for Publishing
yarn dist
原文地址:https://github.com/MetaMask/metamask-extension/blob/develop/README.md
链接地址:堆栈导航——MetaMask 支持 Firefox、Google Chrome 和基于 Chromium 的浏览器