@bytecask/core

中文文档
2026.7.5发布于 2026/07/17AGPL-3.0-onlyTypeScriptES Module构建来源已验证近 30 天下载 1.2万

浏览器-内置内容地址为二进制blob store – BLAKE3地址,分级存储适配器(OPFS通过工人,索引DB,内存),dedup,再算,GC.

中文使用文档
文档目录12 节
  1. 这是什么
  2. 要点
  3. 安装
  4. 快速启动
  5. 存储后端
  6. 生命周期模型
  7. 主要 API
  8. 浏览器支持
  9. 相关软件包
  10. 文档
  11. 警卫
  12. 许可证

@ bytecask/ 核心

浏览器- 本地, 内容地址为 blob 存储 .

将二进制数据存储在索引DB、OPFS或一个输入的API后面的内存中 BLAKE3处理、分解、生命周期核算和回收工具.

pnpm add @bytecask/core

npm downloads license TypeScript

快速启动 • 妇女 后端 • 妇女 API 密码 • 妇女 浏览器支持 • 妇女 文档


这是什么

@bytecask/core 是框架中立的 Bytecask 存储引擎。 它接受 Blob, (中文(简体) ), Uint8Array,或流出字节并返回小写 BLAKE3 内容 散货 相同内容存储一次, 而生命周期元数据决定 对象是否为活、可收藏或缺失.

它规定它故意离开 给主机
内容处理二进制存储记录和关系数据
索引DB、OPFS和内存适配器用户授权和同步
重复、参考、GC、对账签名和出版商身份
配额和诚信差错不可替代数据的唯一副本
可移植 blobs/<hash> 包装产品专用附件工作流程

要点

  • BLAKE3 内容身份 : 稳定的散列支持分解和可移植 名单.
  • 索引DB-第一个持久性: 无宽跨浏览器存储 数据库依赖性.
  • 可选 OPFS 流线: 工人支持的大文件 I/O 只有在 选中 .
  • 明确的生命周期模型: 使用重新计数或对帐 主机列表 .
  • 失败意识写道: 部分对象在配额、元数据、, 完整性,或流出故障.
  • 无害环境管理和类型脚本: 输入没有顶级浏览器- 全球的公开导出 进入,所以在SSY期间导入是安全的.

安装

安装索引数据库、内存和自动后端选择的核心软件包:

pnpm add @bytecask/core

仅在使用 OPFS 时添加工人包 :

pnpm add @bytecask/core @bytecask/worker

快速启动

import { createBlobStore } from '@bytecask/core'

const store = await createBlobStore({ backend: 'idb' })
const hash = await store.put(new Blob(['hello, Bytecask']))

console.log(hash) // lowercase BLAKE3 hex

const blob = await store.getBlob(hash)
const bytes = await store.get(hash)

await store.close()

自动选择尝试索引DB, 然后是 OPFS, 然后是内存并曝光 结果是 store.backend。强制为必须保存的档案提供一个持久的后端 永不降为会话记忆.

存储后端

后端选择持久性最适合
索引数据库默认持久等级浏览器管理, 可驱逐一般文件和附件
财务处明确或自动倒置浏览器管理, 可驱逐流和大型二进制对象
内存明确或最后退缩仅会话测试、预览和瞬间数据
const store = await createBlobStore({
  backend: 'idb',
  idb: { databaseName: 'archive-blobs' },
  metadata: { databaseName: 'archive-metadata' },
  verifyOnRead: true,
})

const persistenceGranted = await store.requestPersistence()
const report = await store.reconcile(liveAttachmentHashes)

无法使用时强制后端拒绝 。 它永远不会悄悄改变 要求的耐久性模型.

生命周期模型

每个商店选择一个权限 :

  1. 存储管理 : put() 创建引用; 平衡所有权与 ref() 财务报告和审定财务报表 unref(),然后与 gc()。 。 。 .
  2. 主机管理 : 以犬目为纲目而行之 reconcile(liveHashes) 用于修复元数据并识别缺失或 未引用字节 .

不为同一档案维护独立的再计算系统 .

主要 API

导出目的
createBlobStore(options)选择或强迫存储后端
put, (中文(简体) ), get, (中文(简体) ), getBlob, (中文(简体) ), has, (中文(简体) ), delete通过散列存储和取回字节
ref, (中文(简体) ), unref, (中文(简体) ), gc库存管理的生命周期核算
reconcile(liveHashes)从主机授权列表进行修复状态
subscribe(listener)观察本地字节存储突变结果
estimate, (中文(简体) ), requestPersistence浏览器存储和持续
packBlobs, (中文(简体) ), unpackBlobs移动便携式 blobs/<hash> 条目
BytecaskError, (中文(简体) ), QuotaError, (中文(简体) ), IntegrityError处理打入的存储失败
const unsubscribe = store.subscribe((event) => {
  if (event.type === 'put') {
    console.log(event.hash, event.refcount)
  }
})

变换饲料是存储级和本地到 BlobStore 举个例子 它发出 Bytecask 字节/ 生命周期结果, 而不是主机记录的语义或跨 Tab 同步 留言.

浏览器支持

  • IndexedDB行为在Chrimium,Firefox,和Playwright WebKit中测试.
  • OPFS的工人行为在Chrimium和Firefox测试.
  • 内存存储在浏览器和JavaScript测试环境中工作.
  • 该套件仅以无害环境管理为对象并针对现代浏览器.

Playwright WebKit是一个引擎代理,而不是苹果公司的Safari二进制. 将浏览器存储视为可重建的本地副本, 因为持续请求 减少驱逐风险,但不能消除.

软件包目的
@bytecask/workerOPFS任选工作者和流动I/ 欧
@bytecask/react可选反应提供者和钩

文档

警卫

Bytecask验证内容身份,而非出版商身份. 验证签名 在水分不可信字节之前的容器或硬体。 报告脆弱性 通过项目 安全政策, (中文(简体) ), 这不是一个公开的问题.

许可证

AGPL-3.0 -仅限. 见 自由主义。 。 。 .

版本与发布记录

@bytecask/core 共发布 3 个版本,首次发布于 2026/07/15;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2026.7.5latest2026/07/173 个月前
2026.7.42026/07/153 个月前
2026.7.22026/07/153 个月前

关于 @bytecask/core 的常见问题

@bytecask/core 是什么?

浏览器-内置内容地址为二进制blob store – BLAKE3地址,分级存储适配器(OPFS通过工人,索引DB,内存),dedup,再算,GC.

如何安装 @bytecask/core?

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

@bytecask/core 支持 TypeScript 吗?

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

@bytecask/core 支持 ESM 还是 CommonJS?

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

@bytecask/core 可以商用吗?

@bytecask/core 使用 AGPL-3.0-only 许可。最严格的 Copyleft:除分发外,通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括,不构成法律意见,请以许可原文为准。

@bytecask/core 的下载量有多少?

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

@bytecask/core 还在维护吗?

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