墨穗app.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v1.0.165 · 墨穗笔记
笔记

Notebase墨穗
静水流深,落墨成穗。

0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →

笔记

0
加载中...

工具

0

此页用于记录用户反馈问题后的每一次改进

关于

笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

不想公开、只想临时给人看:点“分享”生成一条带密码和有效期的链接,到期自动失效,你也能随时撤销。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势

// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

MetaMask Desktop:让以太坊 DApp 浏览体验从浏览器插件跃升至原生桌面应用

windows

MetaMask Desktop:让以太坊 DApp 浏览体验从浏览器插件跃升至原生桌面应用

一个将 MetaMask 钱包与以太坊 DApp 浏览能力整合为原生桌面应用的开源项目,旨在替代传统浏览器插件方案。

一、项目定位:解决什么核心痛点?

MetaMask 作为以太坊生态中最流行的钱包与 DApp 入口,长期以来以浏览器插件(Chrome/Firefox 扩展)的形式存在。这种形态虽然降低了使用门槛,但在实际使用中暴露出诸多问题:

  • 浏览器隔离与安全风险:插件运行在浏览器沙箱内,与浏览器共享进程,一旦浏览器被恶意扩展或 XSS 攻击突破,钱包私钥管理模块(Keyring)将面临直接威胁。
  • 多标签页状态混乱:当用户同时打开多个 DApp 标签页时,MetaMask 插件需要频繁切换账户、网络和确认交易,交互逻辑容易出错。
  • 性能瓶颈:插件需通过浏览器消息通道与页面脚本通信,在高频交易或复杂合约交互时,确认弹窗延迟明显,影响用户体验。
  • 平台依赖:插件方案完全受限于浏览器生态,无法提供系统级通知、硬件钱包深度集成、多窗口管理等原生桌面应用能力。

MetaMask Desktop 项目正是针对上述痛点,将 MetaMask 的核心功能(账户管理、交易签名、DApp 连接)从浏览器插件中剥离,打包为独立的桌面应用(基于 Electron 构建),并通过本地 WebSocket/HTTP 服务与浏览器中的 DApp 页面通信。这样既保留了 DApp 的网页访问方式,又获得了原生应用的稳定性和安全性。

二、快速上手:安装与基本使用

2.1 环境要求

  • Node.js ≥ 14(推荐 16+)
  • Yarn 包管理器
  • macOS / Windows / Linux(Electron 跨平台支持)

2.2 安装步骤

bash

克隆仓库

git clone https://github.com/MetaMask-AI/metamask-desktop.git
cd metamask-desktop

安装依赖

注意:项目使用 Yarn Workspaces,不要用 npm

yarn install

启动开发模式(Electron 窗口 + 本地编译)

yarn start

首次启动会弹出 Electron 窗口,引导你创建或导入钱包。与插件版不同,桌面应用会生成一个独立的本地服务端口(默认 8080),用于与浏览器页面通信。

2.3 连接浏览器 DApp

桌面应用启动后,需要在浏览器中安装配套的桥接扩展(项目 bridge-extension 目录)。桥接扩展的作用是:将页面中的 window.ethereum 请求转发到桌面应用。

javascript
// 在 DApp 页面中,无需修改任何代码
// 桥接扩展会拦截 ethereum 请求并转发到桌面应用
await window.ethereum.request({ method: 'eth_requestAccounts' });
// 返回桌面应用中选中的账户地址

配置完成后,DApp 页面与桌面应用通过本地 WebSocket 通信,交易确认、签名等操作均在桌面窗口内完成,不再依赖浏览器弹窗。

三、核心亮点深度解析

3.1 架构设计:插件 → 桌面 + 桥接

项目采用双进程架构:

  • 主进程(Electron Main):负责窗口管理、系统托盘、硬件钱包(Ledger/Trezor)USB 通信。
  • 渲染进程(Renderer):加载 React UI,包含账户列表、交易历史、设置面板等。
  • 本地服务(HTTP + WebSocket):渲染进程内启动 http-server 和 ws-server,通过 CORS 和 JSON-RPC 协议与桥接扩展通信。

桥接扩展仅做消息转发,不存储任何敏感信息,私钥始终留在桌面应用的内存中。这种设计将攻击面从浏览器插件缩小到本地进程,显著提升了安全性。

3.2 多账户与网络管理的桌面化体验

  • 支持同时管理多个账户,账户切换在桌面窗口内独立完成,不影响 DApp 页面状态。
  • 内置网络管理(主网、测试网、自定义 RPC),并提供网络状态监控(如当前区块高度、Gas 价格)。
  • 交易确认弹出系统级通知(Electron Notification),即使用户切到其他应用也能及时响应。

3.3 硬件钱包深度集成

由于脱离了浏览器沙箱,桌面应用可以直接使用 node-hid 库与 USB 设备通信,无需依赖 WebHID(浏览器兼容性差且权限受限)。Ledger 和 Trezor 的集成比插件版更稳定,签名速度更快。

3.4 自定义 Gas 策略与交易批量操作

桌面 UI 提供更精细的 Gas 控制:

  • 支持 EIP-1559 的 maxFeePerGas / maxPriorityFeePerGas 手动设置。
  • 可对多笔待确认交易进行排队或取消操作(nonce 管理),这在插件版中操作繁琐。

四、适用场景分析

场景 适用性 原因
DeFi 高频交易员 ★★★★★ 多窗口查看行情 + 快速确认交易,告别浏览器弹窗延迟
NFT 批量操作 ★★★★☆ 批量 mint / 挂单时,桌面应用可同时监控多笔交易状态
安全敏感用户 ★★★★★ 私钥不经过浏览器进程,降低被恶意扩展窃取风险
开发者调试 DApp ★★★☆☆ 桥接扩展支持自定义 RPC,方便本地合约测试
普通用户日常使用 ★★☆☆☆ 需要额外安装桌面应用 + 桥接扩展,比插件略繁琐

五、同类项目对比

项目 形态 安全性 性能 生态成熟度 备注
MetaMask Desktop(本项目) 桌面应用 + 桥接 高(私钥隔离) 快(本地进程) 中(社区维护) 基于官方 MetaMask 核心代码,但非官方发布
MetaMask 官方插件 浏览器扩展 中 中 极高 官方维护,更新及时,但受浏览器限制
Rabby Wallet 浏览器扩展 中 中 高 多链支持好,但仍是插件形态
Frame 桌面应用 高 快 中 类似思路,但主要面向开发者,UI 较简陋
Tally Ho 浏览器扩展 中 中 中 开源社区项目,与 MetaMask 兼容

独特优势:本项目直接复用 MetaMask 官方核心(@metamask/controllers、keyring-controller 等),因此功能与官方插件保持高度同步,同时享受桌面应用的安全与性能优势。而 Frame 等竞品需要自己实现钱包逻辑,维护成本高。

潜在不足:

  • 非官方发布,更新节奏依赖社区贡献者,可能滞后于官方安全补丁。
  • 桥接扩展需单独安装,增加了用户操作步骤。
  • 目前仅支持以太坊主网及 EVM 兼容链,不支持 Solana 等其他生态。

六、技术实现细节(供开发者参考)

  • 状态管理:使用 Redux Toolkit 管理钱包状态,与官方 MetaMask 扩展的 redux 结构一致,便于迁移。
  • 加密存储:使用 @metamask/browser-passworder 对 vault 进行加密,密码经 scrypt 派生密钥。
  • 通信协议:桥接扩展与桌面应用之间的 JSON-RPC 消息格式与 metamask-inpage-provider 兼容,因此现有 DApp 无需修改即可使用。
  • 构建工具:Electron Forge 打包,支持自动更新(electron-updater)。

七、总结与展望

MetaMask Desktop 是一个极具潜力的实验性项目,它证明了以太坊钱包可以超越浏览器插件的局限。对于重度 DeFi 用户和安全敏感者,它提供了更可靠的选择。虽然目前 Stars 数(333)不高,但其架构思路已经被多个商业项目(如 Rabby Desktop 版本)借鉴。

如果你正在寻找一种更安全、更高效的 DApp 交互方式,或者想为 MetaMask 生态贡献桌面端能力,这个项目值得深入研究和尝试。

项目地址:https://github.com/MetaMask-AI/metamask-desktop

相似推荐
Singbox内核裸跑-WindowsMalwarebytesDataGripStart11TablePlusCrystalDiskInfo
编写使用方法
Markdown 格式 · Ctrl+Enter 确定
0 字新建笔记
欢迎回来
登录你的墨穗笔记账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属墨穗笔记
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

隐私提醒

取消
编辑工具
受控分享
为这篇笔记生成限时 / 带密码的临时链接
关闭