@enbox/browser

中文文档
0.3.90发布于 2026/11/12Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 2753

在浏览器中使用的 Enbox 工具和特性

中文使用文档
文档目录5 节
  1. 安装
  2. 使用量
  3. 钱包没有数据段的登录
  4. 浏览器运行时间
  5. 项目资源

信箱浏览器

研究预览 ——Enbox正在积极开发. API可不经通知而更改.

Enbox 应用程序 APIS、 认证、 钱包连接和 DWeb 特性的浏览器入口

NPM Package NPM Downloads Build Status Open Issues Code Coverage

安装

bun add @enbox/browser

使用量

@enbox/browser 再出口高级API,浏览器安全认证表面, 钱包连接处理器,和 DWeb 帮助器 :

import { createApplication } from '@enbox/browser';
import { NotesStore } from './features/notes/store.js';

const application = createApplication({
  stores: { notes: NotesStore },
  wallet: { appName: 'Notes' },
  connection: { monitor: { autoRefresh: {} } },
});

await application.initialize();

// Invoke directly from a user action so the wallet popup opens.
async function connect(): Promise<void> {
  const snapshot = await application.connection.connect();
  if (snapshot.phase !== 'connected') {
    throw snapshot.error ?? new Error('Connection was not established.');
  }
  const notes = application.store(NotesStore);
  // Subscribe to notes' resources or run its domain commands.
}

为浏览器寿命保留一个应用程序 。 它的表征来自 特性模块并拥有连接,会话范围的资源,命令, 和清理. application.connection.disconnect() 签出; application.dispose() 永远撕下主人。 反应绑住相同的 运行时间通过 EnboxProvider application={application}。 。 。 .

对于自定义主机, 供应 connectHandler 改为 wallet,或提供a connection: manifest => nativeConnection 拥有所有本土的工厂 配置 。 无头人 @enbox/api 建造者要求该工厂; 浏览器构建器提供浏览器默认在同一运行时间左右. 本地连接、记录和上下文原始语源仍然可用 流动. defineStore是因为 observe() 厂家拥有所有本地视图类型 一个订阅和清理机制.

钱包没有数据段的登录

打电话 authenticateViaPopup() 直接来自用户请求拥有者的动作 认证证明. 提供钱包 URL 和服务 authentication: { version: 1, audience, challenge } 请求。 结果是 { connectedDid, authentication },或 undefined 被拒绝时;没有妇发运动代表 创建会话。 该服务核实返回的证据准确无误 等待请求,并在建立登录前消耗一次挑战. 供应 onAuthenticationRequest 以登记生成的确切请求 钱包发送前的服务; 回调必须成功解决 在批准之前。 注册失败会关闭弹出 .

服务方面的核查需要独立的 expected: { audience, challenge } 从配置及其发布的交易,连同 存储完整请求。 必须拒绝未知或已经使用的挑战. 所有者认证需要HTTPS源,包括本地开发. 签了300秒后 证据就过期了 反应信封是分开的 600秒寿命不延长这一期限。 过期证明失败 登录, 即使钱包已经批准了合并模式的赠款 .

connectViaPopup() 还接受 authentication 将登录与其 明确 DWN 许可请求 。 现有的应用程序/连接存储器 APIs继续管理数据会话. 连接证明是一个 Enbox 钱包 原始;OAuth/OIDC 令牌发行属于接收服务.

未执行认证能力发现/谈判。 使用 只与已知的钱包合并模式: 较旧的钱包可以授予 请求数据访问, 然后不返回所有者证明, 无法登录 . 同样,最后签字失败也可将先前的书面赠款留在 地点 呼叫者在重新试验前必须调和或撤销部分结果; 被拒绝的合并作业不能证明DWN倒闭.

浏览器运行时间

每个浏览器 dapp 都必须注册一个调用应用程序的服务员 activatePolyfills()。页面拥有连接商店,记录视图,以及 WebSockets;工人拥有DRL取取截取和离线外壳. 保留 默认级别/ IndexedDB 存储堆栈.

在启动连接商店前, 请等待 prepareBrowser(workerUrl, { registrationOptions: { type: 'module' } }) 或通过 从此页面已有注册 navigator.serviceWorker 当PWA 工具拥有注册。 帮手等那个工人控制页面 并激活页面多填充,并带有超时和中止信号。 申请 拥有更新激活。 工人方面 activatePolyfills() 债权客户在 启动,但让等待工人到位。 完成待处理的申请 在更新处理器请求前工作 skipWaiting() 并重新装入页面.

当前浏览器配置的软件包在页面中工作,而工人在不使用的情况下构建 Enbox 特定节点- 全球, process或者说IIFE shims。 跟着 浏览器 dapp 指南 以坚忍的维特盟誓, 启动、实时数据、托管和验证设置。 基本原理存在于 浏览器 dapp 架构。 。 。 .

项目资源

资源说明
一般事务人员(其他职等)贡献者工作流程和存储规则
许可证Apache 许可证,2.0版本

版本与发布记录

@enbox/browser 共发布 125 个版本,首次发布于 2025/08/03;过去 12 个月发布了 123 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.3.90latest2026/11/121 天前
0.3.892026/11/077 天前
0.3.882026/11/077 天前
0.3.872026/11/058 天前
0.3.862026/11/0113 天前
0.3.852026/10/2916 天前

关于 @enbox/browser 的常见问题

@enbox/browser 是什么?

在浏览器中使用的 Enbox 工具和特性

如何安装 @enbox/browser?

在项目目录运行 npm install @enbox/browser,或使用 pnpm add / yarn add / bun add。

@enbox/browser 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@enbox/browser 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@enbox/browser 可以商用吗?

@enbox/browser 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@enbox/browser 的下载量有多少?

根据 npm 官方下载统计,@enbox/browser 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,753 次,日均约 92 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@enbox/browser 还在维护吗?

最新版本 0.3.90 发布于 2026/11/12(1 天前);至今共发布 125 个版本,其中过去 12 个月发布了 123 个;首次发布于 2025/08/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。