4个版本 (2个重大更新)
0.3.0 | 2021年9月17日 |
---|---|
0.2.1 | 2021年7月20日 |
0.2.0 | 2021年5月18日 |
0.1.0 | 2020年3月25日 |
#34 in #secp256k1
406,990 每月下载量
在 2,163 个crate中使用 (通过 libsecp256k1)
155KB
4K SLoC
纯Rust实现的SECP256K1
支持no_std的SECP256K1实现。目前我们实现了
- 将私钥转换为公钥。
- 签名消息。
- 签名验证。
- 从签名消息中恢复公钥。
- 共享密钥。
功能标志
std
: 如果禁用,则在no_std
环境中工作。默认启用。hmac
: 添加需要HMAC-DRBG的某些功能。这包括签名。默认启用。static-context
: 为了加速计算,该库使用预计算的表上下文来执行许多ecmult
操作。此功能标志将上下文直接作为静态变量。如果禁用,则必须手动从堆中创建上下文。增加二进制大小,默认启用。lazy-static-context
: 与将预计算的表上下文存储为静态变量不同,将其存储为通过lazy_static
动态分配上下文的变量。它覆盖了static-context
。影响引导性能,仅在std
中可用,默认禁用。
开发工作流程
分支
此存储库使用develop
分支进行开发。更改定期合并到master
分支。
拉取请求
所有更改(除新版本外)都通过拉取请求处理。请将您的PR针对develop
分支。
版本控制
libsecp256k1
遵循语义版本控制。仓库中未发布的crate将在末尾具有-dev
后缀,并且我们进行滚动发布。
当您对此存储库发起拉取请求时,请同时更新受影响crate的版本,按照以下规则操作。请注意,这些规则应递归应用——如果更改修改了任何上层crate的依赖(即使只是Cargo.toml
文件),那么上层crate也需要应用这些规则。
另外,如果您的更改值得注意,那么您还应该修改相应的CHANGELOG.md
文件中的“未发布”部分。
如果受影响的crate已经有-dev
后缀
- 如果您的更改是一个补丁,则无需更新任何版本。
- 如果您的更改引入了一个新功能,请检查本地版本是否已经提高了其次要版本,如果没有,则提高它。
- 如果您的更改修改了当前接口,请检查本地版本是否已经提高了其主版本,如果没有,则提高它。
如果受影响的crate还没有-dev
后缀
- 如果您的更改是一个补丁,则提高补丁版本,并添加
-dev
后缀。 - 如果您的更改引入了一个新功能,则提高次要版本,并添加
-dev
后缀。 - 如果您的更改修改了当前接口,则提高主版本,并添加
-dev
后缀。
如果您的拉取请求引入了一个新的crate,请将其版本设置为1.0.0-dev
。
依赖项
~360KB