# @chainsafe/blst 中文文档

规范地址：https://npmcn.com/package/%40chainsafe/blst/

版本：2\.2\.0
npm 元数据更新时间：2026-04-21T09:51:36.397Z
中文译文更新时间：2026-11-09T09:35:46.633Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40chainsafe/blst
原文对照：https://npmcn.com/package/%40chainsafe/blst/?lang=original
项目主页：https://github.com/ChainSafe/blst-ts#readme
源码仓库：https://github.com/ChainSafe/blst-ts

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：24.6 kB，5 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>= 16
- 运行依赖：0 个
- 首次发布：2020-11-18T20:26:04.261Z
- 最新版本发布：2024-10-29T03:28:18.231Z
- 近 30 天下载量：15262（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：27（近 12 个月 0 个）

## 中文简介

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

## 安装

```sh
npm install @chainsafe/blst
```

也可以使用：`pnpm add @chainsafe/blst`、`yarn add @chainsafe/blst`、`bun add @chainsafe/blst`

## README

# 弹出

![ETH2.0\_Spec\_Version 1.4.0](https://img.shields.io/badge/ETH2.0_Spec_Version-1.4.0-2e86c1.svg) ![ES Version](https://img.shields.io/badge/ES-2017-yellow) ![Node Version](https://img.shields.io/badge/node-16.x-green)

打印脚本 [超国家/超国家](https://github.com/supranational/blst) 土生土长的装订器,是一个表现很出色的BLS12-381签名库.

## 支持的环境

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

## 使用量

```bash
yarn add @chainsafe/blst
```

这个库带有大多数平台的预编译装订. 您可以检查当前支持 [释放](https://github.com/ChainSafe/blst-ts/releases)如果您的平台不被支持, 绑定会从源头编译, 作为节点吉普的最佳努力 .

```ts
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` |
| 数据ST | `BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_` |
| 挂号( B) | `64` |

> [光谱](https://github.com/ethereum/eth2.0-specs/blob/v0.11.1/specs/phase0/beacon-chain.md#bls-signatures)

> [测试向量](https://github.com/ethereum/consensus-spec-tests/tree/master/tests/general)

## 捐款

请检查一下 [捐款额](https://npmcn.com/package/%40chainsafe/blst/CONTRIBUTING.md) 关于如何使用回购和建筑细节的更多信息

## 发布/出版

## 释放

自动发布程序 [触发](https://npmcn.com/package/%40chainsafe/blst/.github/workflows/CI.yml#216) 当主分支在软件包中更新了版本.json.

要创建新版本 :

1.  增加项目版本 [软件包.json](https://npmcn.com/package/%40chainsafe/blst/package.json#3)
    -   通过确保项目版本附有非数字字符,可以发布预发版本,例如: `-beta`
2.  运行 `yarn run version`
3.  将承诺与这些修改合并
4.  CI 将运行并发布新版本

## 许可证

阿帕奇 - 2.0

## 常见问题

### @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 和提交记录判断。

