Skip to content

Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to consensus that enables performance at scale while preserving privacy.

License

tw-bc-group/fabric

 
 


Hyperledger Fabric 国密版

Build Status Contributions welcome Fabric 1.4 gm tls enable

本项目是 Hyperledger Fabric 的国密支持版本。

简介

本项目的优势

本项目涵盖 Fabric、Fabric CA 以及 Fabric SDK 的全链路国密改造,主要包括以下功能点:

  • 国密 CA 生成和签发

  • 应用数据国密加密/签名/解密

  • 国密 TLS 的 GRPCS 和 HTTPS 通讯

  • 国密密码机的集成(阿里云 KMS 服务)

  • 代码修改使用非侵入式的修改,与 Fabric 官方仓库合并更容易

  • 支持 Jenkins CI

⚠️ 注意

  • ​ cryptogen 默认生成非国密的 ecdsa 签名的证书,如果需要生成国密证书,需要加上 --gm 参数,比如

    cryptogen generate --gm

  • ​ 交易 ID 的计算还是原版的 SHA256,并未改为 GMSM3

    ​ 对应 fabric 具体的位置在 ComputeTxID 函数中

    ​ 对应 go-sdk 具体的位置在 NewHeader 函数中

什么是 Hyperledger Fabric?

Hyperledger Fabric 是用于开发解决方案和应用程序的企业级许可分布式分类账本框架,可以去官网了解更多。

什么是国密(GM)?

国密(GM)算法是国家密码管理局发布的、符合《密码法》中规定的商用密码的一套密码标准规范。

依赖与关联

依赖

关联代码库

本代码库为 Fabric Core 的国密化版本,Fabric的其他部分国密化改造如下:

如何使用

与官方 Fabric 1.4 一致,参考 Fabric 官方文档

常用命令

  • make native进行编译

  • make docker打包 docker 镜像

使用镜像

本项目使用 CI 持续编译并测试,并将镜像发表在 dockerhub,可使用镜像:

欢迎反馈

欢迎各种反馈~ 你可以在 issues 页面提交反馈,我们收到后会尽快处理

如何贡献

欢迎通过以下方式贡献本项目:

  • 提带有 label 的 issue

  • 提出任何期望的功能、改进

  • 提交 bug

  • 修复 bug

  • 参与讨论并帮助决策

  • 提交 Pull Request

关于我们

国密化改造工作主要由 ThoughtWorks 区块链团队完成,想要了解更多/商业合作/联系我们,欢迎访问我们的官网

About

Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to consensus that enables performance at scale while preserving privacy.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.3%
  • Other 0.7%