Awesome Fabric 开发资源全景指南:Hyperledger Fabric 从架构、开发环境到 SDK 的完整学习路径
发布时间:2026/10/1 18:12:57来源:尧图网络
文档区块链【免费下载链接】awesome-blockchain-cn收集所有区块链(BlockChain)技术开发相关资料包括Fabric和Ethereum开发资料项目地址https://gitcode.com/gh_mirrors/aw/awesome-blockchain-cn点击查看免费下载本文以 Hyperledger Fabric/README.md 这份 Awesome Fabric 开发资源导航为骨架系统梳理它在架构、教程、API、SDK、示例五个维度收录的 Fabric 学习资料并融合仓库内配套的 Chaincode v0.6 Dev Env Setup Guide.md 与 fabric-connector.js 两份一手资料为读者提供一条从理解架构、搭建开发环境到动手编写 Chaincode、调用 SDK 的完整实战路径。读完本文你将掌握 v0.6 / v1.0 两个时代的 Fabric 核心知识点地图拿到一份可直接照做的基础环境搭建手册并理解 Fabric v0.6 RESTful API 的 JSON-RPC 调用约定。一、资源总览这份导航清单覆盖了 Fabric 开发的哪些环节Awesome Fabric 是区块链资料聚合仓库 awesome-blockchain-cn 中专门面向 Hyperledger Fabric 的导航文档目录结构如下Architect架构按 v0.6 与 v1.0 两个版本收录架构解读与源码分析资料Tutorials教程同样按 v0.6 / v1.0 划分覆盖开发环境搭建、网络启动、CA 配置、SDK 使用与案例项目API接口与文档官方文档入口及中文社区的技术专栏SDK工具包Java、Python、Node.js 等多语言 SDK 与可视化开发框架Examples示例可直接参考的落地项目。清单在开头给出了一条重要的版本提示原 hyperledger-archives 下的 Fabric 仓库已被归档弃用后续开发应使用官方 hyperledger/fabric 仓库。这提醒所有读者本文涉及的 v0.6 时代命令与配置属于历史版本内容适合用于理解早期架构与开发流程而最新开发请以 v1.0 及之后的官方文档为准。除导航清单本身外仓库目录下还直接附带了两份与清单主题强相关的配套资料本文后续将重点展开文件与清单的对应关系Chaincode v0.6 Dev Env Setup Guide.md对应 Tutorials 中 v0.6 开发环境搭建主题是完整的可执行手册fabric-connector.js对应 SDK / RESTful API 主题是 Node.js 封装的调用约定参考二、架构篇从 v0.6 源码分析到 v1.0 核心机制清单将架构资料按版本切分反映了 Fabric 两次重要的技术演进v0.6 是早期的单体架构雏形v1.0 则引入了模块化架构与更完善的权限模型。v0.6Fabric 代码分析未完成的 GitBookv0.6 阶段收录的是一份基于 GitBook 的 Fabric 代码分析文档且清单中明确标注其状态为未完成。这类源码走读资料通常按代码包拆解 peer、membersrvcCA 服务等核心组件的实现适合想从源码层面理解早期 Fabric 的读者作为辅助材料不必当作完整教程依赖。v1.0架构概览与核心机制从清单收录的专题文章标题可以看出v1.0 架构学习的关键词集中在以下几个方向Fabric 1.0 架构概览对整体架构的全局解读是进入 v1.0 世界的第一站多通道与下一代账本设计v1.0 引入的多通道multi-channel机制使不同通道内的账本与交易相互隔离是联盟链权限隔离的基础Fabric 1.0 账本设计讲解 v1.0 账本的数据组织、区块结构与状态存储方式Fabric 1.0 Endorse 背书策略背书Endorsement是 v1.0 共识流程的核心环节背书策略定义了交易需要哪些组织的签名背书Fabric 示意图与 Gossip 源码分析配合图示理解节点间数据分发Gossip 协议的实现Fabric-CA 1.0 Alpha 小结Fabric 证书颁发机构CA在 v1.0 中的设计与用法总结。需要说明的是以上均为清单中收录资料所覆盖的主题方向具体细节应以对应资料的完整内容与官方最新文档为准v1.0 的权威说明请查阅 Fabric 官方文档。三、教程篇v0.6 与 v1.0 两条实战路线Tutorials 是整份清单信息量最大的部分两条版本线各有侧重v0.6 侧重环境搭建与 Chaincode 入门v1.0 侧重新版本部署与开发工具。v0.6 教程线从环境到 Chaincodev0.6 教程线包含以下主题Fabric Basics使用官方 Docker Toolbox 搭建 Fabric 开发环境的基础教程Learn Chaincode基础 Chaincode 示例的讲解与运行Marbles Project TutorialPart One / Part TwoIBM 官方示例项目 Marbles 的分步教程是学习 Chaincode 业务建模的经典案例v0.6 Fabric Dev Env Setup官方提供的三种 Chaincode 开发环境搭建方式v0.6 Start A Fabric Network启动一个 Fabric 网络的官方指引v0.6 Fabric CA SetupFabric CA 的安装与配置v0.6 Fabric NodeJS SDK GuideNode.js SDK 的使用指南。其中开发环境搭建这一主题仓库内恰好有一份对应的一手实操手册即 Chaincode v0.6 Dev Env Setup Guide.md下面将其完整展开作为本节的实战核心。1. 基础软件安装Prerequisites开发环境需要四类基础软件Git参照官方文档安装即可。Docker原手册给出的安装命令为curl -sSL https://get.daocloud.io/docker | sh reboot注意其中reboot在原文档中紧跟在管道命令之后实际含义是安装完成后需要重启系统使 Docker 生效请按你的发行版实际情况处理部分系统需手动将当前用户加入 docker 用户组。RocksDBFabric v0.6 使用 RocksDB 作为状态数据库。手册推荐安装v4.1 或 v4.6.1版本在 rocksdb 源码目录下执行make install-shared ldconfigGolang参照官方文档安装并注意设置环境变量GOROOT指向/usr/local/goGOPATHGo 的工作目录可以通过建立软链接让go命令全局可用sudo ln -s /usr/local/go/bin/go /usr/bin/go2. Fabric 安装Install安装依赖hyperledger/fabric-baseimage:X86_64-0.0.11镜像并按以下步骤拉取源码、整理 vendor 依赖并编译mkdir -p fabric/src/github.com/hyperledger git clone https://github.com/hyperledger/fabric.git cd ~/fabric/src cp -a ./github.com/hyperledger/fabric/vendor/* ./ cd github.com/hyperledger/fabric make membersrvc make peer两点说明原文档中cd ~/farbric/src疑为~/fabric/src的笔误这里已按目录创建逻辑修正vendor目录中的第三方依赖需要拷贝到 GOPATH 对应的 src 根下这是 Go 早期依赖管理方式的产物。make membersrvc编译 CA 服务make peer编译 peer 节点。3. 快速启动Quick Setup执行membersrvc命令启动 CA 节点它会读取默认配置文件membersrvc.yaml以开发模式启动 peerpeer node start --peer-chaincodedev如需启用安全与隐私功能不需要改动 core.yaml 并重新编译直接通过环境变量注入即可CORE_SECURITY_ENABLEDtrue CORE_SECURITY_PRIVACYtrue peer node start --peer-chaincodedev--peer-chaincodedev是 v0.6 开发模式的核心开关它让 Chaincode 直接运行在 peer 进程内而非独立容器从而大幅缩短调试循环。4. 运行 ChaincodeRunning手册给出了三种发布 Chaincode 的方式前两种适用于开发调试第三种面向外部客户端集成。方式一本地编译发布开发推荐在 chaincode 目录下执行go build完成编译然后运行CORE_CHAINCODE_ID_NAMEmycc CORE_PEER_ADDRESS0.0.0.0:7051 ./chaincode_example该方式运行在 dev 模式下Chaincode 不会启动单独的 Docker 容器而是直接跑在 peer 容器内CORE_CHAINCODE_ID_NAME指定链码 ID 名CORE_PEER_ADDRESS指定 peer 的注册地址。方式二通过 CLI 发布首先获得授权peer network login username发布代码初始化链上资产账户 a100账户 b200peer chaincode deploy -n mycc -c {Args: [init, a, 100, b, 200]}启用安全与隐私功能时需追加环境变量并指定用户-u jimCORE_SECURITY_ENABLEDtrue CORE_SECURITY_PRIVACYtrue peer chaincode deploy -u jim -n mycc -c {Args: [init, a, 100, b, 200]}调用代码执行转账a 转给 b 10peer chaincode invoke -l golang -n mycc -c {Args: [invoke, a, b, 10]}说明原文档中invoke的-c参数示例存在引号笔误写为{Args: ...上文已按标准 JSON 格式修正为{Args: ...}实际执行请以 JSON 规范为准。方式三通过 RESTful API 发布首先获得授权向 registrar 接口注册用户POST localhost:7050/registrar { enrollId: jim, enrollSecret: 6avZQLwcUe9b }发布代码POST host:port/chaincode { jsonrpc: 2.0, method: deploy, params: { type: 1, chaincodeID: { name: mycc }, ctorMsg: { args: [init, a, 100, b, 200] }, secureContext: jim }, id: 1 }调用代码POST host:port/chaincode { jsonrpc: 2.0, method: invoke, params: { type: 1, chaincodeID: { name: mycc }, ctorMsg: { args: [invoke, a, b, 10] }, secureContext: jim }, id: 3 }手册特别提示可以在membersrvc.yaml文件的eca.users章节找到可以被 CA 认可的用户名及密码——上面的jim / 6avZQLwcUe9b即来自该默认配置实际部署时应替换为自己的注册信息。手册末尾还附有若干参考链接Fabric 开发模式环境搭建、RocksDB 安装问题、gcc 版本升级、Makefile 编译警告、Chaincode 开发环境配置等可作为排错时的补充阅读。v1.0 教程线部署、镜像与开发工具v1.0 教程围绕新版本的部署方式展开清单标注了一些关键适用前提Hyperledger Fabric V1.0 开发者快速入门基于 baseos 0.2.2 镜像的快速上手搭建运行 Fabric V1.0-alpha 版本针对 1.0 版本的开发环境搭建指引Fabric v1.0-alpha 开发镜像编译使用 Fabric 源码自行编译 v1.0-alpha 的 Docker 镜像Fabric-CA 1.0 Alpha 小结v1.0 的 CA 组件小结Hyperledger Composer 使用入门官方可视化 Fabric 应用开发框架的入门教程hyperledger fabric 本地开发环境 mac 部署面向 macOS 的本地开发环境部署经验。这些教程大多针对 v1.0-alpha 等早期阶段读者在实操时应留意与当前正式版命令如peer子命令体系、configtxgen、cryptogen等的差异。四、API 篇官方文档与中文社区专栏API 章节收录了三类来源Fabric 官方文档清单标注为Fabric 官方最新文档是接口与命令的权威来源任何版本差异都应以官方文档为准中文社区专栏包括以 Fabric 开发环境搭建与 Chaincode 入门见长的浮白、IBM Fabric 核心开发者 yeasy 的专栏以及分别专注 v0.6/v1.0 与 v0.6 源码分析的菜鸟的博客和 jiang_xinxing 的博客。这一章节的价值在于官方文档负责标准答案中文专栏负责踩坑经验两者配合可以显著降低英文文档的阅读与理解成本。五、SDK 篇多语言 SDK 与 RESTful API 封装实践SDK 章节覆盖了 Fabric 生态中主要的编程语言接入方式Hyperledger Fabric API官方接口集合入口Fabric Java SDK面向 Java 的官方 SDKFabric Python SDK面向 Python 的官方 SDKFabric Nodejs SDK面向 Node.js 的官方 SDKIBM Nodejs SDK 与 fabric boilerplateIBM 维护的 Node.js SDK 与项目脚手架Composer官方可视化 Fabric 应用开发框架可基于模型快速生成业务网络Hyperledger hackathon黑客松项目合集Fabric with graphql将 Hyperledger Fabric 与 GraphQL 结合的样板工程。深入仓库内的 Node.js 封装参考 fabric-connector.js针对 SDK / RESTful API 主题仓库附带的 fabric-connector.js 提供了一份 Node.js 侧封装 RESTful 接口的参考实现。从源码看它整体受 IBM-Blockchain 的 ibm-blockchain-js 启发文件头注释即注明出处。构造与配置参数对应源码 第 5-14 行参数含义默认值 / 说明host服务主机地址必填缺失时直接抛出no host error!protocol协议默认httppath_prefix路径前缀默认/port服务端口可选versionAPI 版本号固定为1URL 拼装逻辑第 15-21 行buildURL按protocol://host[:port]/path/的规则拼接请求地址端口存在时附加端口号末尾统一补/。接口调用约定封装对象以api.chaincode组织deploy、query、invoke三个方法每个方法都以注释形式内嵌了完整的 JSON-RPC 2.0 请求示例与上一节 RESTful API 的命令行版本一一对应deploymethod为deploytype为 1chaincodeID.path指向github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02ctorMsg.args为[init, a, 1000, b, 2000]携带secureContextquerychaincodeID.name使用 deploy 返回的链码哈希示例为52b0d803...一长串十六进制args为[query, a]id递增为 5——这说明deploy 成功后会返回链码的 name 哈希后续 query / invoke 必须携带该哈希作为chaincodeID.nameinvoke同样携带链码哈希args为[invoke, a, b, 100]id为 3。需要说明的是从源码结构看该文件更像一份未完成的封装草稿对象字面量内部使用了chaincode {而非chaincode: {的合法写法且方法体引用的rest.post并未定义直接运行会报错。因此它的正确用法是作为理解 RESTful 调用约定的参考注释而非可直接使用的生产模块——真正可用的是清单收录的官方 Node.js SDK。六、示例篇从 Explorer 到 Marbles 的落地参考示例章节收录了三个具有代表性的项目Fabric Explorer官方区块链浏览器用于可视化查看 Fabric 网络的区块、交易与链码状态是运维与演示场景的标配cp-webIBM-Blockchain 的前端示例项目marblesIBM 官方示例配合前文 Marbles 教程 Part One / Part Two 使用通过弹珠交易的业务场景完整演示 Chaincode 的编写、部署与调用流程。对于刚完成环境搭建的读者推荐以 marbles 作为第一个上手的业务案例教程将 Chaincode 开发拆解为两阶段先跑通基础读写再扩展更复杂的业务逻辑。七、总结一条推荐的 Fabric 学习路径综合清单内容与仓库配套资料可以沉淀出一条递进式的学习路径理解版本脉络先确认 v0.6 与 v1.0 的差异本清单即按此划分明确历史版本资料用于理解原理、最新开发以官方文档为准学习架构从 v1.0 架构概览入手依次消化多通道、账本设计、背书策略、Gossip 与 Fabric-CA 等专题搭建环境按 Chaincode v0.6 Dev Env Setup Guide.md 完成 Git / Docker / RocksDB / Golang 的安装再通过make membersrvc与make peer编译出可用的 Fabric v0.6 环境编写并运行 Chaincode先走本地编译发布CORE_CHAINCODE_ID_NAMECORE_PEER_ADDRESS熟悉 dev 模式再分别用 CLI 与 RESTful APIJSON-RPC 2.0完成 deploy / invoke接入 SDK根据语言选型使用 Java / Python / Node.js 官方 SDK参考 fabric-connector.js 理解 RESTful 接口的请求结构参考示例落地用 marbles 巩固 Chaincode 开发用 Fabric Explorer 验证网络运行状态。最后回到版本与版权提醒本资源清单按 CC0 协议发布版权由原作者 Chaozh 放弃清单中 v0.6 相关内容属于历史版本命令、镜像与配置文件均已随版本演进实操时请结合当前使用的 Fabric 版本核对并以 Fabric 官方最新文档为准。赞分享文档区块链【免费下载链接】awesome-blockchain-cn收集所有区块链(BlockChain)技术开发相关资料包括Fabric和Ethereum开发资料项目地址https://gitcode.com/gh_mirrors/aw/awesome-blockchain-cn点击查看免费下载相关推荐Hyperledger Fabric v0.6 链码开发环境搭建指南Hyperledger Fabric v0.6 链码开发环境搭建指南 前言 本文主要介绍如何搭建Hyperledger Fabric v0.6版本的链码开发环境文档区块链MBX-7B-v3安全使用手册避免AI风险的5个关键点MBX 7B v3安全使用手册避免AI风险的5个关键点 MBX 7B v3作为基于Mistral架构的高效语言模型在提供强大文本生成能力的同时也需要用户遵Hyperledger Fabric安装指南从零开始搭建区块链开发环境Hyperledger Fabric安装指南从零开始搭建区块链开发环境 前言 Hyperledger Fabric作为企业级区块链平台其安装过程需要准备多个区块链密码学上一篇使用 nanobot 构建微信WeChat/WeixinAI Agent二维码登录、配对授权与 HTTP 长轮询全解析下一篇Node.js v23.7.0Current发布详解test_runner 快照 API 全面升级、TypeScript 支持强化与 SQLite 能力扩展创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网