前言:一些血泪史。一、运行环境虚拟机:VMwareWorkstation17Pro,官网下载链接。Ubuntu:Ubuntu22.04。Ubuntu22.04官网下载链接,Ubuntu18.04官网下载链接。虚拟机安装:网上教程很多这里不在赘述。注意虚拟机内存改为8GB,最大磁盘大小改为30GB,Ubuntu选择最小安装。否则后续配置Fabric可能会出现虚拟机内存不够导致配置失败的情况。二、前期准备参考链接:准备阶段—hyperledger-fabricdocsmaster文档如果虚拟机终端无法复制粘贴或复制粘贴快捷键禁用,参考本文。2.1前期准备安装vim:sudoapt-getinsta
hyperledgerfabric网络操作基本操作和概念hyperledgerfabric网络操作基本操作和概念1.cryptogen操作1.1cryptogen生成证书文件1.1.1生成证书文件模板1.1.1.1排序节点OrdererOrgs配置1.1.1.2普通节点PeerOrgs配置1.1.1.3Template配置1.1.1.4Users用户配置1.1.1.5crypto-config.yaml1.1.2生成密钥材料1.2cryptogen.yaml创建通道配置1.2.1configx.yaml1.3网络初始化2.dockercompose2.1docker-compose.yaml3
(1)Hyperledger定义:Hyperledger是一个开放源代码的区块链项目合作组织,旨在推动跨行业的企业级区块链解决方案的发展。该项目由Linux基金会于2015年发起,致力于建立一个可靠、安全和可扩展的区块链框架和工具集。Hyperledger提供了一个集合,其中包含了多个不同的区块链框架、工具和库,用于构建和管理私有、许可的区块链网络。(2)Hyperledger项目:Hyperledger项目是一个包含多个区块链框架和工具的合作组织,旨在推动企业级区块链的发展和应用,并提供丰富的功能和灵活性,以满足不同行业的需求。 Hyperledger项目的核心是开发各种区块链框架和工具,以
本文基于fabric1.4HyperledgerFabric在应用时我们可能会想要对链码(智能合约)加一些访问控制,翻阅官方文档的话可能会找到这样一节chaincode-access-control,里面告诉我们要用CID(clientidentitylibrary)库来实现,具体是在智能合约中获取调用链码的用户信息,据此来判断。其中就包括获取用户属性的方法“GetAttributeValue”,有了这个属性,我们就可以在用户证书中存一些需要传递的数据了,而且文中也给了通过命令行如何向证书中添加属性,如注册:fabric-ca-clientregister--id.nameuser1--id.
前言在上个实验中,我们已经实现了简单智能合约实现及客户端开发,但该实验中智能合约只有基础的增删改查功能,且其中的数据管理功能与传统MySQL比相差甚远。本文将在前面实验的基础上,将HyperledgerFabric的默认数据库支持LevelDB改为CouchDB模式,以实现更复杂的数据检索功能。此外,对上个实验的简单智能合约进一步进行功能上和设计上的扩展,最终实现了智能合约的分包、分页查询、多字段富查询、查询交易历史记录等功能。网络架构本文网络结构直接将HyperledgerFabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务中创建的4-2_Ru
前言在上个实验中,我们已经实现了简单智能合约实现及客户端开发,但该实验中智能合约只有基础的增删改查功能,且其中的数据管理功能与传统MySQL比相差甚远。本文将在前面实验的基础上,将HyperledgerFabric的默认数据库支持LevelDB改为CouchDB模式,以实现更复杂的数据检索功能。此外,对上个实验的简单智能合约进一步进行功能上和设计上的扩展,最终实现了智能合约的分包、分页查询、多字段富查询、查询交易历史记录等功能。网络架构本文网络结构直接将HyperledgerFabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务中创建的4-2_Ru
警告信息:Localfabricbinariesanddockerimagesareoutofsync.Thismaycauseproblems.Localfabricbinariesanddockerimagesareoutofsync.Thismaycauseproblems.原因:fabric二进制文件和镜像版本不一致。本人fabric二进制文件版本:2.4.1镜像版本:2.4.2解决方案:降低镜像版本为fabric二进制文件版本1、首先将当前的所有fabric镜像删除进入test-network目录下,删除前请先关闭测试网络,删除所有名字中带有hyperledger的镜像dockeri
A.Fabric国密改造(以2.2版本为例)A.1.golang国密改造修改文件清单└─src └─crypto │ crypto.go │ ├─ecdsa │ ecdsa.go │ ├─sm2 │ ber.go │ p256.go │ sm2.go │ ├─sm3 │ sm3.go │ ├─sm4 │ key.pem │ sm4.go │ sm4_test.go │ ├─tls │ auth.go │ cipher_suite
目录5.1网络环境的搭建5.1.1生成组织结构与身份证书5.1.2生成创世区块和通道5.1.3启动Fabric网络5.1.4 创建Fabric-SDK-GO对象并建立通道5.1.5 Fabric-SDK-Go实现链码的自动部署5.2链码实现5.1网络环境的搭建5.1.1生成组织结构与身份证书HyperledgerFabric框架通过采用大量的证书确保系统交易(签名块、TSL、身份验证等)期间所有数据的安全性。证书主要由框架工具cryptogen生成,并且,保存至项目文件的crypto-config目录下HyperledgerFabric网络搭建的第一步就是生成指定的成员,用来参与交易。组织中的
区块链网络什么是区块链网络?可以为应用程序提供账本和智能合约服务的基础技术设施,应用程序的用户可能是客户端的用户或者是区块链网络的管理员。智能合约被用来生成交易,这些交易分发到网络的各个节点中并被记录到他们各自的账本副本中,不可篡改。网络节点客户端节点:要连到peer节点或排序服务节点上才能与区块链网络进行通信。客户端向背书节点提交提案,收到足够的背书后,向排序服务广播交易,进行排序,生成区块。Peer节点:记账节点,验证排序服务节点区块中的交易,存储区块链账本副本。Peer节点也会存储智能合约的副本,但并不是所有的Peer节点都会存储。所有的Peer节点可以验证并接收或者拒绝交易存入它们的账