@0xcurvy/rs-core-wasm

中文文档
0.1.5发布于 2026/11/06MITTypeScriptES Module零依赖近 30 天下载 2016

浏览器 WebAssembly 构建 Curvy Rust 核心和 Groth16 验证器

中文使用文档
文档目录5 节
  1. 入境点
  2. Bundler 设置
  3. 线索
  4. 节点
  5. 版本

@0xcurvy/rs-core-wasm (英语)

浏览器 WebAssembly 构建 Curvy Rust 核心( Cust Corvy) 核弹 - 隐形地址 密码(Poseidon, Baby Jubjub/EdDSA,音符密码,默克勒状态,扫描)和Groth16验证器.

创建于 wasm-bindgen --target web 从标签 rs-core 发布并发布未修改. 破碎的箱子开着 货箱.io (单位:千美元)curvy-core, (中文(简体) ), curvy-witness, (中文(简体) ), curvy-prover, (中文(简体) ), curvy-wasm) (中文(简体) ).

大多数应用程序应当使用 @0xcurvy/curvy-sdk 而不是直接消耗这些束缚.

入境点

子路径构建页:1
@0xcurvy/rs-core-wasm/core单行加密核心; 到处工作
@0xcurvy/rs-core-wasm/core-threads雷扬需要异地隔离
@0xcurvy/rs-core-wasm/prover单行证人 + Groth16
@0xcurvy/rs-core-wasm/prover-threads雷扬需要异地隔离

每个条目还输出其生的二进制( E)@0xcurvy/rs-core-wasm/core/curvy_wasm_bg.wasm用于 ?url- 进口和节点.

import init, { poseidon } from "@0xcurvy/rs-core-wasm/core";

await init(); // resolves curvy_wasm_bg.wasm relative to this module

两种验证条目都从 snarkjs 装入一个验证密钥 .zkey 或契约 .czkey (单位:千美元)curvy-prover的紧凑的zkeys (英语)) (中文(简体) ). new WasmResidentProver(zkey, zkeySha256, graph, graphSha256) 以第一个字节告诉他们; zkeySha256 是文件的SHA -256,无论它是什么。 一个紧凑的密钥大约是四分之一 40 MB 键装入单行键的大小和成本要多约 3 s .

证人的图表是SIGNET的文物(SIGNET01 或者说 CVYWIT01在正文版本1或2中,生或 zstd-压缩; graphSha256 是所通过字节的SHA-256。 第2版 翻译: (单位:千美元)signet transcode(中文(简体) ) 在更小的文件中计算与第一版相同的证人. 第2版需要0.1.5或更晚;更早 发布时拒绝使用"不支持的目击图表格式 第2版".

Bundler 设置

生成的胶水以 new URL('curvy_wasm_bg.wasm', import.meta.url),则 连线型建筑 产出他们的光线工人 new Worker(new URL('./workerHelpers.js', import.meta.url), { type: 'module' })。两者都要求文件留在包中的位置.

维特 - 将这个软件包从依赖性预捆绑中排除,将代码移动到 node_modules/.vite/deps/ 并打破这些相对的 URL :

export default defineConfig({
  optimizeDeps: { exclude: ["@0xcurvy/rs-core-wasm"] },
});

网页包装 5 解决两种模式;不需要配置.

对于其他捆绑者,通过二进制在你自己 - init({ module_or_path: url }) 接受一个 URL, a Response,字节,或编译 WebAssembly.Module。 。 。 .

线索

这个 *-threads 条目以 atomic 和共享内存构建。 他们需要一个 不同原生体 页面:

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

或者,如果第三方嵌入必须持续工作, Document-Isolation-Policy: isolate-and-credentialless。 。 。 . 打电话 initThreadPool(n) 之后 init()与 crossOriginIsolated 回到我们身边 单行本条目 - 二人曝光同名API.

线性条目不运行在 Safari 发布中 WebKit 错误 303387例如Safari 26.2, 或任何iOS 浏览器基于这样的发布 : initThreadPool 拒绝,或电击, RuntimeError: Out of bounds memory access萨法里26.5和27.0.1运行它们。 当错误发生时, 使用单行本条目.

节点

fetch 无法读取 file: URL,所以明确通过字节:

import { readFile } from "node:fs/promises";
import init from "@0xcurvy/rs-core-wasm/core";

const wasm = await readFile(
  new URL(import.meta.resolve("@0xcurvy/rs-core-wasm/core/curvy_wasm_bg.wasm")),
);
await init({ module_or_path: wasm });

版本

@0xcurvy/[email protected] 由标签构建 vx.y.z 联 合 国 rs-core,所有四个条目都来自 单项承诺.

授权麻省理工学院。 见 THIRD-PARTY-NOTICES.md 用于编入二进制的依赖关系.

版本与发布记录

@0xcurvy/rs-core-wasm 共发布 9 个版本,首次发布于 2026/08/04;过去 12 个月发布了 9 个版本。

版本发布日期距今
0.1.5latest2026/11/061 天前
0.1.42026/10/2810 天前
0.1.22026/10/1622 天前
0.1.12026/10/0830 天前
0.1.0-rc.7rc2026/10/0830 天前
0.1.0-rc.52026/08/172 个月前

关于 @0xcurvy/rs-core-wasm 的常见问题

@0xcurvy/rs-core-wasm 是什么?

浏览器 WebAssembly 构建 Curvy Rust 核心和 Groth16 验证器

如何安装 @0xcurvy/rs-core-wasm?

在项目目录运行 npm install @0xcurvy/rs-core-wasm,或使用 pnpm add / yarn add / bun add。

@0xcurvy/rs-core-wasm 支持 TypeScript 吗?

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

@0xcurvy/rs-core-wasm 支持 ESM 还是 CommonJS?

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

@0xcurvy/rs-core-wasm 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@0xcurvy/rs-core-wasm 可以商用吗?

@0xcurvy/rs-core-wasm 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@0xcurvy/rs-core-wasm 的下载量有多少?

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

@0xcurvy/rs-core-wasm 还在维护吗?

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