BearNetworkChain MetaMask客製版 — 正式封裝說明
本文件描述 Bear Network Chain 客製版(MetaMask 分支)的正式/可公开发布封裝流程。
BearNetworkChain MetaMask客製版 — 正式封裝說明
本文件描述 Bear Network Chain 客製版(MetaMask 分支)的正式/可公开发布封裝流程。
專用封裝指令
在 Windows PowerShell 下請使用:
yarn.cmd dist
在 bash / macOS / Linux 下可使用:
yarn dist
Bear Network Chain 客製版:正式封裝一律以
yarn.cmd dist(或yarn dist)為準。 產出可載入的未壓縮擴充功能與可上傳/分發的 ZIP。
指令做了什麼
yarn dist 會依序:
- 執行
lavamoat:check-fetch-endowments— 檢查 LavaMoat 的fetch/btoaendowment(避免 RPCIllegal invocation) - 以 production + LavaMoat 建置 Chrome MV3
- 產出 ZIP 到
builds/
請不要用 --no-lavamoat 做公开发布;正式包必須保留 LavaMoat 安全層。
首次/環境準備
# 1. Node 版本(見 .nvmrc,建議 >= 24)
# 2. 啟用 Corepack(管理 Yarn)
corepack enable
# 3. 安裝依賴
yarn.cmd install
# 4. 設定環境(若尚無 .metamaskrc)
copy .metamaskrc.dist .metamaskrc
編輯 .metamaskrc,至少設定真實 Infura Project ID:
INFURA_PROJECT_ID=你的_infura_project_id
占位值(如
00000000000)可以通過建置,但鏈上 RPC 會失敗。 請到 Infura 建立專案並填入 Project ID。
若為乾淨環境首次建置,webpack 工具需先編譯(yarn install 後若已有 development/.webpack/ 可略過):
yarn.cmd webpack:tsc
正式封裝(客製版標準流程)
yarn.cmd dist
成功後產物:
路徑說明dist/chrome/未壓縮擴充功能(Chrome / Edge / Brave 等 Chromium 載入用)dist/sourcemaps/Source mapsbuilds/metamask-chrome-<version>.zip壓縮包(分發/上架用)
版本號來自專案 manifest/建置設定(例如 metamask-chrome-13.44.0.zip)。
載入與驗證
Chromium(Chrome / Edge / Brave)
- 開啟
chrome://extensions(或對應瀏覽器的擴充功能頁) - 開啟「開發人員模式」
- 「載入未封裝項目」→ 選擇專案下的
dist/chrome - 開擴充功能,確認可連線 Ethereum Mainnet(與 Bear Network 等已整合網路)
詳細步驟也可參考:How to add custom build to Chrome。
常見問題:Unable to connect to Ethereum
若 Service Worker 控制台出現:
Failed to execute 'fetch' on 'WorkerGlobalScope': Illegal invocation
代表 LavaMoat 的 fetch endowment 不正確。本客製版已在 lavamoat/webpack/**/policy-override.json 固定完整 fetch / btoa,並由 yarn dist 前置的 lavamoat:check-fetch-endowments 守護。
請確認:
- 使用的是本倉庫的
yarn.cmd dist(不要略過 check) .metamaskrc的INFURA_PROJECT_ID為有效 key- 重新載入擴充功能前可先移除舊版再載入
dist/chrome
手動檢查 endowment:
yarn.cmd lavamoat:check-fetch-endowments
開發建置(非發布)
日常開發、熱更新請用:
yarn.cmd start
- 輸出同樣在
dist/chrome/,但為 development 模式,預設不啟用 LavaMoat - 不可以此作為公開 ZIP 的正式封裝指令
Firefox MV2 正式包(若需要):
yarn.cmd dist:mv2
依賴/LavaMoat 政策變更後
若有新增依賴或修改建置工具存取行為:
yarn.cmd lavamoat:auto
yarn.cmd lavamoat:check-fetch-endowments
yarn.cmd dist
policy-override.json 中的 @metamask/network-controller fetch / btoa 必須保留,否則正式包 RPC 可能再次失敗。
快速對照
用途指令Bear Network Chain
客製版正式封裝(專用)yarn.cmd dist 開發 watchyarn.cmd start Firefox 正式封裝yarn.cmd dist:mv2 LavaMoat fetch 檢查yarn.cmd lavamoat:check-fetch-endowments 再生 LavaMoat 政策yarn.cmd lavamoat:auto
相關文件
메타데이터
- post_id
- 957cbfcac3fd
- slug
- bearnetworkchain-metamask客製版-正式封裝說明-957cbfcac3fd
- url
- https://medium.com/@bearnetwork.net/bearnetworkchain-metamask%E5%AE%A2%E8%A3%BD%E7%89%88-%E6%AD%A3%E5%BC%8F%E5%B0%81%E8%A3%9D%E8%AA%AA%E6%98%8E-957cbfcac3fd
- canonical_url
- https://medium.com/@bearnetwork.net/bearnetworkchain-metamask%E5%AE%A2%E8%A3%BD%E7%89%88-%E6%AD%A3%E5%BC%8F%E5%B0%81%E8%A3%9D%E8%AA%AA%E6%98%8E-957cbfcac3fd
- author_url
- https://medium.com/@bearnetwork.net
- status
- ok
- fetched_at
- 2026-09-06 13:50:06