/byfn.sh -m down 执行以下命令构建网络 ./byfn.sh -m generate 生成创世区块 ---- ../bin/cryptogen generate --config=..../crypto-config.yaml 在first-network目录下设置变量: export FABRIC_CFG_PATH=$PWD 设置变量并创建初始区块 执行 .....-c:指定调用链码的所需参数 -p:指定安装链码的所在路径 -P:指定背书策略 Node.js SDK和fabcar交互 ---- 进入fabric-samples目录下的fabcar目录中 cd fabric-samples...目录中安装客户端 npm install npm install 中1 npm install 中2 启动网络 ....在这里,我们使用CAR4。
如果我们要改成通过配置的形式让Fabric在启动时读取配置,然后决定使用国密算法还是美国那一套算法,则改动量特别大,而且判断的地方也很多,比较难。...对称加密算法主要是用在网络加密通讯也就是TLS的时候使用,系统TLS默认使用的是crypto/aes,于是我们使用SM4产生新的包:github.com/studyzy/crypto/aes,实现如下接口...主要包括: crypto //系统的RegisterHash在Fabric启动时被莫名调用,导致SM3的注册SHA256覆盖,所以独立出一个crypto包 crypto/elliptic ...ccenv在构建时,需要把ChainCode依赖的所有相关代码Copy到镜像中,而这些依赖文件是从$GOPATH/src下copy过来的。...然后进入first-network,执行以下命令构建一个测试网络。 .
区块链实际上就是数据库,一个只能插入和查询的数据库,数据不能被修改和删除,并且这个数据库没有DBA管理员角色。这么一说你应该明白了把,实际上运维区块链就是在维护一个分布式数据库。...由于 Hyperledger Fabric 是建立在 Docker 基础之上的。所以不建议你去除 Docker 转而使用传统的本地编译安装方式。...我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1....总之选择一种你能Hold住(掌控)的方案,一旦出现故障,你能第一时间排查并处理。 4.1....Tools 节点安装 Tools 在生成创世区块的时候我们就曾经使用,你可以沿用之前的 tools 简单,或者创建一个 cli 节点,这个节点主要是用于管理区块链集群,例如合约部署,调试等等。
区块链实际上就是数据库,一个只能插入和查询的数据库,数据不能被修改和删除,并且这个数据库没有DBA管理员角色。这么一说你应该明白了把,实际上运维区块链就是在维护一个分布式数据库。...由于 Hyperledger Fabric 是建立在 Docker 基础之上的。所以不建议你去除 Docker 转而使用传统的本地编译安装方式。...我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1. ...生成证书和创世区块 这里我们需要几个命令(configtxgen configtxlator cryptogen),官方的安装方式: curl -sSL https://goo.gl/byy2Qj...Tools 节点安装 Tools 在生成创世区块的时候我们就曾经使用,你可以沿用之前的 tools 简单,或者创建一个 cli 节点,这个节点主要是用于管理区块链集群,例如合约部署,调试等等。
Git和Docker Toolbox附带的curl命令很旧,不能正确地处理入门时使用的重定向,请确保安装并使用cURL下载页面中的新版本。...| bash -s 1.2.0 1.2.0 0.4.10 如果在运行上述curl命令时出现错误,那么可能使用的curl版本太旧,无法处理重定向或不支持的环境。...上面的命令下载并执行bash脚本,该脚本将下载并提取所有平台特定的二进制文件,你将需要这些二进制文件来建立您的网络,并将它们放到上面创建的克隆repo中,它检索下列特定于平台的二进制文件: cryptogen...脚本列出了在结束时安装的Docker映像。...,以配置和管理区块链网络中的身份。
题图摄于三藩市Pier 7:Coit Tower 上次我们介绍了用 Kubernetes 部署 Fabric (可点击)的总体架构和网络、存储的规划,本期为连载之二,详述部署工具设计的细节,包括模板的定制和配置的设定...configtx.yaml configtxgen 工具根据该文件生成 Orderer 初始化的时候要使用的 genesis.block,获知 organization 的各种信息,因此,用户要根据 cluster-config.yaml...为了在多节点共享证书等文件,使用了 NFS 服务器作为存储。在 K8s 中通过相应的 PV 和 PVC ,namespace 下的 Pod 可以通过 PVC 来获取与之相应的文件。 b....会启动失败,因此在启动 orderer 之前需要预先生成 genesis.block ,并将其放在相应的 org 目录下。...在实例化 chaincode (cc) 时,peer 需要连接 Docker 引擎来创建 cc 容器,因此要把 worker 宿主机的 var/run/docker.sock 映射到 peer 容器内部
: Name:在网络中的名称 ID:MSP中的唯一ID MSPDir:msp的相关目录 Policies:读写策略 AnchorPeers:锚节点配置 3.创建通道配置文件 configtxgen.../channel-artifacts/channel.tx -channelID mychannel 4.创建组织锚节点配置文件 创建Org1和Org2阻止锚节点配置文件 configtxgen -profile...:后边接所属组织的MSPID,要与configtx.yaml文件中Organizations配置段的定义一致; 锚节点每个组织至少有一个,有多少个锚节点就创建多少个锚节点配置文件 5.启动docker容器...在peer-base.yaml文件里,第16行,${COMPOSE_PROJECT_NAME}是docker网络命名,这里自己填写 例如改为test-first-network docker-compose.../channel-artifacts/channel.tx -o:与某个排序节点连接; -c:通道名称; -f:使用通道配置文件; --tls:是否开启TLS加密传输协议; --cafile:服务端的证书文件
另外信息只能以附加的方式记录到账本上,并使用加密技术保证一旦将交易添加到账本就无法修改。这种不可修改的属性简化了信息的溯源,因为参与者可以确定信息在记录后没有改变过。所以区块链有时也被称为证明系统。...6、什么是共识 保持账本在整个网络中同步的过程称为共识。该过程确保账本仅在交易被相应参与者批准时才会更新,并且当账本更新时,它们以相同的顺序更新相同的交易。...-1.4.12/bin:$PATH 3、生成证书和秘钥 我们将使用 cryptogen 工具生成各种加密材料( x509 证书和签名秘钥)。...4、创建排序通道创世区块 我们可以使用 configtx.yaml 文件和 configtxgen 工具轻松地创建通道的配置。...5、创建通道配置交易 接下来,我们需要继续使用 configtxgen 根据去创建通道的交易配置,和第 4 步不同的是,这次需要指定 Profile 为 TwoOrgsChannel 参数。
前言 之前使用CA服务一直是在docker容器中运行下载好的CA镜像,在应用程序中通过Node SDK中集成的接口来访问CA服务器,这次尝试手动部署CA服务。...Fabric CA的使用 访问Fabric CA服务端的方法有两种:通过客户端工具(fabric-ca-client)和RESTful接口。本质上,客户端工具也是调用服务端的RESTful接口实现的。...所以首先需要注册我们在启动时设置的管理员用户(admin的登记密码在启动时已设置),然后用这个admin用户来完成其他用户的登记操作。...然后在命令行中初始化和启动CA服务器; 另一种方法是在docker容器中运行fabric-ca镜像,镜像中包含编译好的可执行文件,镜像可以从Docker Hub直接下载,也可以在fabric-ca目录下利用...make docker手动编译,然后使用docker-compose命令启动CA容器。
PATH=$HOME/hyperledger/fabric-samples/bin:$PATH 脚本自动运行 1.生成网络配置信息 该命令利用cryptogen和configtxgen工具生成网络成员的证书和秘钥.../byfn.sh -m generate 2.启动网络 该步完成的操作有:启动网络所有节点,创建通道后将节点加入,安装、实例化chaincode,然后进行一系列查询和交易。 ..../crypto-config.yaml 2.生成创世区块 会创建channel-artifacts目录,并在该目录下生成genesis.block,创世区块用于启动网络中的排序节点。...该步会在channel-artifacts目录下生成Org1MSPanchors.tx和Org2MSPanchors.tx,这两个配置交易会在设置锚节点时使用。 .....启动网络中所有节点: docker-compose -f docker-compose-cli.yaml up -d 2.创建channel 注意:CLI容器默认连接的是peer0.org1.example.com
在一个通道上,(区块是)一组有序交易的集合。区块往往通过密码学手段(Hash 值)连接到前导区块。 Zhu Jiang:区块是一组有序的交易集合,在通道中经过加密(哈希加密)后与前序区块连接。...通道是构建在“Fabric”网络上的私有区块链,实现了数据的隔离和保密。通道特定的账本在通道中是与所有对等节点共享的,并且交易方必须通过该通道的正确验证才能与账本进行交互。...在install和instantiate Chaincode(deploy tx)时需要指定背书策略。...Fabric-ca是默认的证书管理组件,它向网络成员及其用户颁发基于PKI的证书。...成员服务在许可的区块链网络上认证、授权和管理身份。在peer和order中运行的成员服务的代码都会认证和授权区块链操作。它是基于PKI的MSP实现。
创建Channel 现在我们的机器上正在运行对等节点和排序节点, 我们可以使用脚本创建用于在Org1和Org2之间进行交易的Fabric通道。...使用network.sh脚本在Org1和Org2之间创建通道并加入他们的对等节点,执行以下命令创建一个通道: ....在通道启动一个链码 创建通道后,可以开始使用智能合约与通道账本交互。...默认情况下,脚本使用cryptogen工具创建证书和密钥,该工具用于开发和测试,并且可以快速为具有有效根信任的Fabric组织创建所需的加密材料。...测试网络脚本还提供了使用证书颁发机构(CA)的网络的启动选项。在网络中每个组织操作一个CA(或多个中间CA)来创建属于他们的组织身份,所有由该组织运行的CA创建的身份享有相同的组织信任根源。
此外,为了在不破坏数据的情况下处理构建工件,您的服务器将需要专用分区或磁盘作为工件存储位置。我们将在本教程中使用/mnt/artifact-storage作为工件存储的挂载点。...GoCD基于文件的身份验证插件使用htpasswd程序创建的用户身份验证格式。 以下命令中的-B选项选择bcrypt加密算法。-c选项告诉htpasswd在指定的路径上创建新的身份验证文件。...接下来,我们应该等待服务绑定到8153端口和8154端口。GoCD在第一个端口上侦听HTTP流量,第二个端口侦听受保护的HTTPS流量。虽然流程已经完成,但他们可能还没有开始接受网络流量。...当常规“站点URL”配置为使用HTTP并且GoCD需要传输敏感数据时,使用“安全站点URL”。如果“站点URL”使用HTTPS地址,则所有连接都将加密,并且不需要设置“安全站点URL”。...结论 在本教程中,我们已经安装并配置了在Ubuntu上运行的GoCD服务器和代理。我们在单独的分区上设置专用工件存储空间,以处理生成的构建,并配置身份验证以保护Web界面。
基于区块链技术实现供应链的全程可追溯性引言在全球化和信息化迅猛发展的今天,供应链的复杂性与日俱增。...一、区块链技术的核心特性去中心化:区块链网络中的每个节点都有完整的数据副本,无需中央控制点,降低了单点故障的风险。不可篡改:一旦数据被写入区块链,就无法被篡改或删除,确保了数据的真实可信。...创建Fabric网络在Fabric中,我们需要定义一个网络,其中包括若干个Peer节点、Orderer节点和CA节点。#!.../bin/bash# 启动Fabric网络export PATH=$PATH:$PWD/binexport FABRIC_CFG_PATH=$PWD/config/# 生成证书和密钥cryptogen...调用智能合约使用Fabric客户端SDK调用智能合约,记录和查询商品信息。
container_name定义在docker中的进程名. networks定义归属byfn区块链网络. extends定义继承使用docker-compose-base.yaml中orderer.example.com...TLS使用的私钥,自签名证书和CA证书。...在进阶配置篇我们再学习kafka配置。 定义了区块链网络的联盟Consortiums为SampleConsortium, 包含了组织Org1和Org2。...创建通道和加入通道 区块链网络有了, orderer网络管理节点有了, peer是启动了,但没加入网络和通道,以下命令行验证下(验证完后请exit退出docker容器命令行)。...不是直接peer节点安装初始化使用吗? 复习下区块链网络的更新几个步骤,orderer需要验证更新的背书策略和采访权限,orderer需要知道这些信息, 实例化链码的时候就需要orderer知道了。
,使得通道外的实体无法访问通道内的信息,从而实现交易的隐私性。...在通道中一般包含有若干成员(组织),若两个网络实体的身份证书能够追溯到同一个根CA,则认为这两个实体属于同一组织。...使用configtxgen工具生成通道的配置 configtxgen 是 Fabric 提供的工具,用于生成通道所需要的配置文件。...通过 configtxgen 工具的参数 -profile 来指定使用哪个模板。...动态修改通道配置 在通道创建后,通道相关的配置以区块的形式存在于通道的账本中。如果需要修改通道的配置,可通过生成新的配置区块去更新。
组织(Org)和通道(Channel)的名称是fabric网络比较重要的两个配置参数,在fabric提供的示例中都已经设置好了这两个参数,一般组织名为"Org1"和"Org2",通道名为"mychannel...前言 Fabric网络在启动前会通过二进制工具cryptogen和configtxgen生成成员的证书目录、排序创世区块以及通道配置交易,组织和通道名称会在此时被写入配置信息中去。...一、获取工具cryptogen和configtxgen 下载cryptogen和configtxgen这两个工具的方法在first-network示例中已经介绍,除了这种从网络直接下载的方法,还可以在fabric...五、修改CA服务器配置文件 这个文件的改动过程比较复杂,因为它是在CA节点启动时在内部自动生成的,想要修改只能够先将内容复制到外部进行改动,再映射到内部达到覆盖的效果。...= 'orderer') {...} 2.修改启动及测试脚本 最后需要把启动脚本runApp.sh和testApp.sh中和组织名、通道名有关的变量进行修改,改完后分别启动这两个脚本就可以完成新网络的启动及测试
-u github.com/hyperledger/fabric-ca/cmd/... 4.启动CA服务器 1.本地启动 fabric-ca-server start -b admin:adminpw...-b选项为引导程序管理员提供注册 ID 和密码;如果未使用“ldap.enabled”设置启用 LDAP,则这是必需的。...在本地目录中创建一个名为fabric-ca-server-config.yaml的默认配置文件,可以自定义。...2.通过Docker启动 创建一个docker-compose.yml fabric-ca-server: image: hyperledger/fabric-ca:amd64-1.4.7 container_name...docker-compose.yml文件相同的目录中打开终端并执行以下命令: docker-compose up -d 3.创建自己的Fabric CA镜像 cd $GOPATH/src/github.com
MSP struct 网络 MSP:网络配置通过定义参与组织的 MSP 定义了谁是这个网络的成员,并且定义了授权哪些成员执行管理任务(比如,创建通道) Channel MSP:通道单独维护着它的成员的...最新版 gitbash 最新版 1.运行docker,确保在gitbash下可以使用docker命令 2.配置go环境变量gopath,确保在gitbash下可以使用go命令 3.下载fabric仓库的.../network.sh up 启动区块链网络 8.执行docker ps查看到启动的三个node,分别代表一个orderer和两个组织的peer 0.执行..../network.sh down 停止区块链网络 Channel Channel是通信的基本网络,作为整个区块链系统的子网络 使用官方命令..../release-2.2/configtx.html configtxgen 与 configtx.yaml 因为编写go代码生成较麻烦,可以使用官方提供的工具configtxgen,通过configtx.yaml
三、Hyperledger Fabric使用流程 1.多个组织协作搭建Hyperledger Fabric网络,每个组织都有自己的peer节点用来存储账本数据。...,相关组织选择peer安装智能合约 6.其中一个组织,实例化智能合约,主要是在特定的通道创建特定业务的命名空间并且写入此命名空间的初始化数据,在实例化智能合约的过程中,指定智能合约的背书策略 7.相关组织通过调用智能合约和链上数据进行交互...c)Fabric目前涉及到的加密算法 HASH算法,目前用到的是SHA2-256,对应到国密算法可以用SM3 非对称加密算法,椭圆曲线(ECC),目前用到的是secp256r1, 对应到国密算法可以用SM2.... d) 创建通道的时候,需要选择用组的admin用户创建,这个主要是由于系统链 的策略配置。...目前在fabric里,区块是存在一个个文件里的,单个文件的大小是64M。
领取专属 10元无门槛券
手把手带您无忧上云