@chainsafe/blst

中文文档
2.2.0发布于 2024/10/29Apache-2.0TypeScriptCommonJS零依赖构建来源已验证近 30 天下载 1.5万

超国家/ blast 本地装订的打字包装器,一个高性能的 BLS12-381 签名库

中文使用文档
文档目录7 节
  1. 支持的环境
  2. 使用量
  3. 光谱版本
  4. 捐款
  5. 发布/出版
  6. 释放
  7. 许可证

弹出

ETH2.0_Spec_Version 1.4.0 ES Version Node Version

打印脚本 超国家/超国家 土生土长的装订器,是一个表现很出色的BLS12-381签名库.

支持的环境

OS / 拱门二进制名称节点
Linux / x64 代码linux-x64第十六条、第十八条、第二十条、第二十一条
Linux / arm64 系统linux- arm64 (英语)第十六条、第十八条、第二十条、第二十一条
视窗 / x64赢取32-x64第十六条、第十八条、第二十条、第二十一条
macOS / x64 数据达尔文-x64第十六条、第十八条、第二十条、第二十一条
macOS / arm64 (英语)darwin-arm64 (英语)第十六条、第十八条、第二十条、第二十一条

使用量

yarn add @chainsafe/blst

这个库带有大多数平台的预编译装订. 您可以检查当前支持 释放如果您的平台不被支持, 绑定会从源头编译, 作为节点吉普的最佳努力 .

import crypto from "crypto";
import {SecretKey, verify, BLST_CONSTANTS} from "@chainsafe/blst";

const msg = Buffer.from("sample-msg");
const sk = SecretKey.fromKeygen(crypto.randomBytes(BLST_CONSTANTS.SECRET_KEY_LENGTH));
const pk = sk.toPublicKey();
const sig = sk.sign(msg);

console.log(verify(msg, pk, sig)); // true

这间图书馆揭露了一个秘密钥匙、公用钥匙和签名的课堂: SecretKey, (中文(简体) ), PublicKey 打开 Signature

这个 PublicKey 财务报告和审定财务报表 Signature 分别包含G1和G2中P1的affine point (x,y)编码.

光谱版本

这个库有一个与 Eth2.0 spec相容的硬码配置 :

设置价值
PK IN 语录G1
HASH OR ENCODE 软件true
数据STBLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_
挂号( B)64

光谱

测试向量

捐款

请检查一下 捐款额 关于如何使用回购和建筑细节的更多信息

发布/出版

释放

自动发布程序 触发 当主分支在软件包中更新了版本.json.

要创建新版本 :

  1. 增加项目版本 软件包.json
    • 通过确保项目版本附有非数字字符,可以发布预发版本,例如: -beta
  2. 运行 yarn run version
  3. 将承诺与这些修改合并
  4. CI 将运行并发布新版本

许可证

阿帕奇 - 2.0

版本与发布记录

@chainsafe/blst 共发布 27 个版本,首次发布于 2020/11/19;过去 12 个月发布了 0 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.2.0latest2024/10/292 年前
2.1.02024/10/222 年前
2.0.32024/07/262 年前
2.0.22024/07/262 年前
2.0.1next2024/07/222 年前
0.2.112024/06/052 年前

关于 @chainsafe/blst 的常见问题

@chainsafe/blst 是什么?

超国家/ blast 本地装订的打字包装器,一个高性能的 BLS12-381 签名库

如何安装 @chainsafe/blst?

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

@chainsafe/blst 支持 TypeScript 吗?

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

@chainsafe/blst 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@chainsafe/blst 需要什么版本的 Node.js?

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

@chainsafe/blst 可以商用吗?

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

@chainsafe/blst 的下载量有多少?

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

@chainsafe/blst 还在维护吗?

最新版本 2.2.0 发布于 2024/10/29(2 年前);至今共发布 27 个版本,其中过去 12 个月发布了 0 个;首次发布于 2020/11/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。