概述
基于fabric的校园征信系统——各组织节点的配置及启动
- Fabric组织节点部署
- Orderer与组织节点分配
- 配置文件的编写
- 各组织节点的启动
- docker—compose文件的编写
- 启动各节点
Fabric组织节点部署
Orderer与组织节点分配
名称 | Hostname | 组织机构 | 组织ID | 机构名称 |
---|---|---|---|---|
orderer | orderer.rjxy.cn | Orderer | – | – |
peer0 | peer0.orgschool.rixy.cn | OrgSchool | OrgSchoolMSP | 学校 |
peer1 | peer0.orgschool.rixy.cn | OrgSchool | OrgSchoolMSP | 学校 |
peer0 | peer0.orgenterprise.rixy.cn | OrgEnterprise | OrgEnterpriseMSP | 企业 |
peer1 | peer0.orgenterprise.rixy.cn | OrgEnterprise | OrgEnterpriseMSP | 企业 |
peer0 | peer0.orgcredit.rixy.cn | OrgCredit | OrgCreditMSP | 第三方征信 |
peer1 | peer0.orgcredit.rixy.cn | OrgCredit | OrgCreditMSP | 第三方征信 |
本项目中设定三个组织:学校,企业,第三方征信机构
每个组织中的 peer 节点数:2
每个组织对应一个单独的channel: schoolchannel , enterprisechannel , creditchannel
三个组织有一个共同的 channel:unionchannel
根域名使用:rjxy.cn
项目为测试环境,为简化步骤降低成本所以采用solo机制,在企业中通常采用采取kafka的共识机制。
配置文件的编写
上一篇文章已经搭建好fabric框架,这篇文章我们利用框架完成搭建自己的联盟链。首先在家目录下创建项目文件夹,这里我们取名为school-credit。
第一步编写crypto-config.yaml文件并生成证书目录。
#利用crytogen showtemplate 命令生成配置文件模板,在此基础上加以修改
cryptogen showtemplate > crypto-config.yaml
将文件修改为:
OrdererOrgs:
- Name: Orderer
Domain: rjxy.cn
Specs:
- Hostname: orderer
PeerOrgs:
# 学校组织
- Name: OrgSchool
Domain: orgschool.rjxy.cn
# 是否支持 Nodejs
EnableNodeOUs: true
# 组织下面peer节点的个数
Template:
Count: 2
# 创建的普通用户的个数
Users:
Count: 1
# 企业组织
- Name: OrgEnterprise
Domain: orgenterprise.rjxy.cn
# 是否支持 Nodejs
EnableNodeOUs: true
# 组织下面peer节点的个数
Template:
Count: 2
# 创建的普通用户的个数
Users:
Count: 1
# 第三方征信机构组织
- Name: OrgCredit
Domain: orgcredit.rjxy.cn
# 是否支持 Nodejs
EnableNodeOUs: true
# 组织下面peer节点的个数
Template:
Count: 2
# 创建的普通用户的个数
Users:
Count: 1
#接下来用 cryptogen generate 命令生成证书目录,执行后可看到crypto-config文件夹
cryptogen generate --config=./crypto-config.yaml
第二步编辑configtx.yaml文件并生成通道及创世块文件
首先复制上篇文章中first-sample/first-network中的cofigtx.yaml文件到项目目录中来,相当于借助于demo模板进行修改。
接下来修改文件为:
Organizations: # 固定的,不能改
- &Orderer # 相当于定义了一个变量,其他地方可以引用它
Name: Orderer # 排序节点的组织名
ID: OrdererMSP # 排序节点组织的ID
MSPDir: crypto-config/ordererOrganizations/rjxy.cn/msp # 组织的 MSP 账号
- &OrgSchool # 房管局组织
Name: OrgSchoolMSP # 组织名称
ID: OrgSchoolMSP # 组织ID,该属性在设置背书策略时需要使用
MSPDir: crypto-config/peerOrganizations/orgschool.rjxy.cn/msp #组织的 MSP 账号
AnchorPeers: # 锚节点
- Host: peer0.orgschool.rjxy.cn
Port: 7051
- &OrgEnterprise
Name: OrgEnterpriseMSP
ID: OrgEnterpriseMSP
MSPDir: crypto-config/peerOrganizations/orgenterprise.rjxy.cn/msp
AnchorPeers:
- Host: peer0.orgenterprise.rjxy.cn
Port: 7051
- &OrgCredit
Name: OrgCreditMSP
ID: OrgCreditMSP
MSPDir: crypto-config/peerOrganizations/orgcredit.rjxy.cn/msp
AnchorPeers:
- Host: peer0.orgcredit.rjxy.cn
Port: 7051
Orderer: &OrdererDefaults
# 共识机制 == 排序算法
OrdererType: solo # 共识机制 - solo 算法之支持一个排序节点
Addresses: # orderer 节点的网络位置
- orderer.rjxy.cn:7050
BatchTimeout: 5s # 产生一个区块的时间单位
BatchSize:
MaxMessageCount: 10 # 交易的最大数量,交易数量达到之后会产生一个区块
AbsoluteMaxBytes: 98 MB # 数据量达到该制定的值,也会产生一个区块
PreferredMaxBytes: 512 KB # 首选 MaxBytes
Kafka: # 本例中的排序算法指定的是solo,此项可以不指定
Brokers:
- 127.0.0.1:9092 # 指定 Kafka 排序集群所在的网络位置
MaxChannels: 0
Organizations:
# 此处不需要修改,默认即可
Application: &ApplicationDefaults
Organizations:
# Fabric_v1.1 之后的内容,全部设为true,是为了兼容 1.1 前面的版本
Capabilities:
Global: &ChannelCapabilities
V1_1: true
Orderer: &OrdererCapabilities
V1_1: true
Application: &ApplicationCapabilities
V1_1: true
Profiles:
ThreeOrgsOrdererGenesis:
Capabilities:
<<: *ChannelCapabilities
Orderer:
<<: *OrdererDefaults
Organizations:
- *Orderer
Capabilities:
<<: *OrdererCapabilities
# 联盟
Consortiums:
# 三个组织的联盟
ThreeOrgsConsortium: # 名字可改
Organizations:
- *OrgSchool
- *OrgEnterprise
- *OrgCredit
# 学校私有链
OrgSchoolConsortium:
Organizations:
- *OrgSchool
# 企业私有链
OrgEnterpriseConsortium:
Organizations:
- *OrgEnterprise
#第三方征信机构私有链
OrgCreditConsortium:
Organizations:
- *OrgCredit
# 生成 unionchannel
unionOrgschannel:
Consortium: ThreeOrgsConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *OrgSchool
- *OrgEnterprise
- *OrgCredit
Capabilities:
<<: *ApplicationCapabilities
schoolOrgchannel:
Consortium: OrgSchoolConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *OrgSchool
Capabilities:
<<: *ApplicationCapabilities
enterpriseOrgchannel:
Consortium: OrgEnterpriseConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *OrgEnterprise
Capabilities:
<<: *ApplicationCapabilities
creditOrgchannel:
Consortium: OrgCreditConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *OrgCredit
Capabilities:
<<: *ApplicationCapabilities
接下来生成创世块文件,首先创建channel-artifacts文件夹用来存放创世块及通道文件。
#利用configtxgen 命令生成genesis.block文件
configtxgen -profile ThreeOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
在这里我遇到yaml格式的错误,算是我踩到的坑,一定不要有tab缩进,格式一定要严谨,包括注释信息。建议部署之间利用yaml格式校验器检验一下。
panic: Error reading configuration: While parsing config: yaml: line 104: found character that cannot start any token
下面生成通道文件
#生成unionchannel
configtxgen -profile unionOrgschannel -outputCreateChannelTx ./channel-artifacts/unionchannel.tx -channelID unionchannel
#生成schoolchannel
configtxgen -profile schoolOrgchannel -outputCreateChannelTx ./channel-artifacts/schoolchannel.tx -channelID schoolchannel
#生成enterprisechannel
configtxgen -profile enterpriseOrgchannel -outputCreateChannelTx ./channel-artifacts/enterprisechannel.tx -channelID enterprisechannel
#生成creditchannel
configtxgen -profile creditOrgchannel -outputCreateChannelTx ./channel-artifacts/creditchannel.tx -channelID creditchannel
生成锚节点更新文件(此操作可选)
#生成OrgSchool组织锚节点更新文件
configtxgen -profile unionOrgschannel -outputAnchorPeersUpdate ./channel-artifacts/OrgSchoolMSPanchors.tx -channelID unionchannel -asOrg OrgSchoolMSP
#生成OrgEnterprise组织锚节点更新文件
configtxgen -profile unionOrgschannel -outputAnchorPeersUpdate ./channel-artifacts/OrgEnterpriseMSPanchors.tx -channelID unionchannel -asOrg OrgEnterpriseMSP
#生成OrgCredit组织锚节点更新文件
configtxgen -profile unionOrgschannel -outputAnchorPeersUpdate ./channel-artifacts/OrgCreditMSPanchors.tx -channelID unionchannel -asOrg OrgCreditMSP
各组织节点的启动
docker—compose文件的编写
先复制first-network中的docker-compose.yaml作为模板加以修改
修改为以下内容:
version: '2'
networks:
school-credit:
services:
orderer.rjxy.cn:
image: hyperledger/fabric-orderer:latest
container_name: orderer.rjxy.cn
environment:
- ORDERER_GENERAL_LOGLEVEL=debug
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_LISTENPORT=7050
- ORDERER_GENERAL_GENESISPROFILE=Orderer
- ORDERER_GENERAL_GENESISMETHOD=file
- ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
- ORDERER_GENERAL_TLS_ENABLED=true
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: orderer
volumes:
- ./channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
- ./crypto-config/ordererOrganizations/rjxy.cn/orderers/orderer.rjxy.cn/msp:/var/hyperledger/orderer/msp
- ./crypto-config/ordererOrganizations/rjxy.cn/orderers/orderer.rjxy.cn/tls:/var/hyperledger/orderer/tls
ports:
- 7050:7050
networks:
default:
aliases:
- orderer.rjxy.cn
peer0.orgschool.rjxy.cn:
image: hyperledger/fabric-peer:latest
container_name: peer0.orgschool.rjxy.cn
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_PEER_ID=peer0.orgschool.rjxy.cn # peer 节点的名字
- CORE_PEER_ADDRESS=peer0.orgschool.rjxy.cn:7051 # 当前 peer 节点的地址信息
- CORE_VM_DOCKER_ATTACHSTDOUT=true
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ADDRESSAUTODETECT=true
# 为了别其他节点感知到,如果不设置,其他节点不知道该节点的存在
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.orgschool.rjxy.cn:7051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false # 当前节点是不是 leader 节点,结果应由选举得出所以此处给出 false
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
# 当前组织的ID[Organizations -> ID]
- CORE_PEER_LOCALMSPID=OrgSchoolMSP
- CORE_PEER_PROFILE_ENABLED=true
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
- CORE_PEER_TLS_ENABLED=true
- CORE_PEER_TLS_SERVERHOSTOVERRIDE=peer0.orgschool.rjxy.cn
- CORE_PEER_TLS_CERT_FILE=/var/hyperledger/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/var/hyperledger/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/var/hyperledger/tls/ca.crt
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: peer node start
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/orgschool.rjxy.cn/peers/peer0.orgschool.rjxy.cn/msp:/var/hyperledger/msp
- ./crypto-config/peerOrganizations/orgschool.rjxy.cn/peers/peer0.orgschool.rjxy.cn/tls:/var/hyperledger/tls
ports:
- 7051:7051
- 7053:7053
depends_on:
- orderer.rjxy.cn
links:
- orderer.rjxy.cn
networks:
default:
aliases:
- peer0.orgschool.rjxy.cn
peer1.orgschool.rjxy.cn:
image: hyperledger/fabric-peer:latest
container_name: peer1.orgschool.rjxy.cn
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_VM_DOCKER_ATTACHSTDOUT=true
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_PROFILE_ENABLED=true
- CORE_PEER_TLS_ENABLED=true
- CORE_PEER_TLS_CERT_FILE=/var/hyperledger/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/var/hyperledger/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/var/hyperledger/tls/ca.crt
- CORE_PEER_ID=peer1.orgschool.rjxy.cn
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_PEER_ADDRESS=peer1.orgschool.rjxy.cn:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.orgschool.rjxy.cn:7051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
- CORE_PEER_LOCALMSPID=OrgSchoolMSP
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
- CORE_PEER_TLS_SERVERHOSTOVERRIDE=peer1.orgschool.rjxy.cn
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: peer node start
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/orgschool.rjxy.cn/peers/peer1.orgschool.rjxy.cn/msp:/var/hyperledger/msp
- ./crypto-config/peerOrganizations/orgschool.rjxy.cn/peers/peer1.orgschool.rjxy.cn/tls:/var/hyperledger/tls
ports:
- 8051:7051
- 8053:7053
depends_on:
- orderer.rjxy.cn
links:
- orderer.rjxy.cn
networks:
default:
aliases:
- peer1.orgschool.rjxy.cn
# orgenterprise
peer0.orgenterprise.rjxy.cn:
image: hyperledger/fabric-peer:latest
container_name: peer0.orgenterprise.rjxy.cn
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_VM_DOCKER_ATTACHSTDOUT=true
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_PROFILE_ENABLED=true
- CORE_PEER_TLS_ENABLED=true
- CORE_PEER_TLS_CERT_FILE=/var/hyperledger/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/var/hyperledger/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/var/hyperledger/tls/ca.crt
- CORE_PEER_ID=peer0.orgenterprise.rjxy.cn
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_PEER_ADDRESS=peer0.orgenterprise.rjxy.cn:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.orgenterprise.rjxy.cn:7051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
- CORE_PEER_LOCALMSPID=OrgEnterpriseMSP
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
- CORE_PEER_TLS_SERVERHOSTOVERRIDE=peer0.orgenterprise.rjxy.cn
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: peer node start
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/orgenterprise.rjxy.cn/peers/peer0.orgenterprise.rjxy.cn/msp:/var/hyperledger/msp
- ./crypto-config/peerOrganizations/orgenterprise.rjxy.cn/peers/peer0.orgenterprise.rjxy.cn/tls:/var/hyperledger/tls
ports:
- 9051:7051
- 9053:7053
depends_on:
- orderer.rjxy.cn
links:
- orderer.rjxy.cn
networks:
default:
aliases:
- peer0.orgenterprise.rjxy.cn
peer1.orgenterprise.rjxy.cn:
image: hyperledger/fabric-peer:latest
container_name: peer1.orgenterprise.rjxy.cn
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_VM_DOCKER_ATTACHSTDOUT=true
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_PROFILE_ENABLED=true
- CORE_PEER_TLS_ENABLED=true
- CORE_PEER_TLS_CERT_FILE=/var/hyperledger/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/var/hyperledger/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/var/hyperledger/tls/ca.crt
- CORE_PEER_ID=peer1.orgenterprise.rjxy.cn
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_PEER_ADDRESS=peer1.orgenterprise.rjxy.cn:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.orgenterprise.rjxy.cn:7051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
- CORE_PEER_LOCALMSPID=OrgEnterpriseMSP
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
- CORE_PEER_TLS_SERVERHOSTOVERRIDE=peer1.orgenterprise.rjxy.cn
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: peer node start
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/orgenterprise.rjxy.cn/peers/peer1.orgenterprise.rjxy.cn/msp:/var/hyperledger/msp
- ./crypto-config/peerOrganizations/orgenterprise.rjxy.cn/peers/peer1.orgenterprise.rjxy.cn/tls:/var/hyperledger/tls
ports:
- 10051:7051
- 10053:7053
depends_on:
- orderer.rjxy.cn
links:
- orderer.rjxy.cn
networks:
default:
aliases:
- peer1.orgenterprise.rjxy.cn
# orgcredit
peer0.orgcredit.rjxy.cn:
image: hyperledger/fabric-peer:latest
container_name: peer0.orgcredit.rjxy.cn
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_VM_DOCKER_ATTACHSTDOUT=true
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_PROFILE_ENABLED=true
- CORE_PEER_TLS_ENABLED=true
- CORE_PEER_TLS_CERT_FILE=/var/hyperledger/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/var/hyperledger/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/var/hyperledger/tls/ca.crt
- CORE_PEER_ID=peer0.orgcredit.rjxy.cn
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_PEER_ADDRESS=peer0.orgcredit.rjxy.cn:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.orgcredit.rjxy.cn:7051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
- CORE_PEER_LOCALMSPID=OrgCreditMSP
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
- CORE_PEER_TLS_SERVERHOSTOVERRIDE=peer0.orgcredit.rjxy.cn
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: peer node start
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/orgcredit.rjxy.cn/peers/peer0.orgcredit.rjxy.cn/msp:/var/hyperledger/msp
- ./crypto-config/peerOrganizations/orgcredit.rjxy.cn/peers/peer0.orgcredit.rjxy.cn/tls:/var/hyperledger/tls
ports:
- 11051:7051
- 11053:7053
depends_on:
- orderer.rjxy.cn
links:
- orderer.rjxy.cn
networks:
default:
aliases:
- peer0.orgcredit.rjxy.cn
peer1.orgcredit.rjxy.cn:
image: hyperledger/fabric-peer:latest
container_name: peer1.orgcredit.rjxy.cn
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_VM_DOCKER_ATTACHSTDOUT=true
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_PROFILE_ENABLED=true
- CORE_PEER_TLS_ENABLED=true
- CORE_PEER_TLS_CERT_FILE=/var/hyperledger/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/var/hyperledger/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/var/hyperledger/tls/ca.crt
- CORE_PEER_ID=peer1.orgcredit.rjxy.cn
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_PEER_ADDRESS=peer1.orgcredit.rjxy.cn:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.orgcredit.rjxy.cn:7051
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
- CORE_PEER_LOCALMSPID=OrgCreditMSP
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
- CORE_PEER_TLS_SERVERHOSTOVERRIDE=peer1.orgcredit.rjxy.cn
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: peer node start
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/orgcredit.rjxy.cn/peers/peer1.orgcredit.rjxy.cn/msp:/var/hyperledger/msp
- ./crypto-config/peerOrganizations/orgcredit.rjxy.cn/peers/peer1.orgcredit.rjxy.cn/tls:/var/hyperledger/tls
ports:
- 12051:7051
- 12053:7053
depends_on:
- orderer.rjxy.cn
links:
- orderer.rjxy.cn
networks:
default:
aliases:
- peer1.orgcredit.rjxy.cn
启动各节点
接下来就可以按照配置文件进行节点的启动了
#启动各个节点
docker-compose up -d
#查看启动的节点
docker-compose ps
#出现以下内容即为启动成功
Name Command State Ports
--------------------------------------------------------------------------------------------------------
orderer.rjxy.cn orderer Up 0.0.0.0:7050->7050/tcp
peer0.orgcredit.rjxy.cn peer node start Up 0.0.0.0:11051->7051/tcp, 0.0.0.0:11053->7053/tcp
peer0.orgenterprise.rjxy.cn peer node start Up 0.0.0.0:9051->7051/tcp, 0.0.0.0:9053->7053/tcp
peer0.orgschool.rjxy.cn peer node start Up 0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp
peer1.orgcredit.rjxy.cn peer node start Up 0.0.0.0:12051->7051/tcp, 0.0.0.0:12053->7053/tcp
peer1.orgenterprise.rjxy.cn peer node start Up 0.0.0.0:10051->7051/tcp, 0.0.0.0:10053->7053/tcp
peer1.orgschool.rjxy.cn peer node start Up 0.0.0.0:8051->7051/tcp, 0.0.0.0:8053->7053/tcp
此时Fabric的服务器端已经配置完毕,在服务器端可配置cli节点进行链码的安装,调用等操作,在这里就不详细介绍了,我们主要介绍在beego框架中如何使用fabric-sdk-go完成相应的操作。
下一篇文章我将会记录进行链码设计的相关过程。
最后
以上就是精明故事为你收集整理的混子日记——校园征信项目2Fabric组织节点部署各组织节点的启动的全部内容,希望文章能够帮你解决混子日记——校园征信项目2Fabric组织节点部署各组织节点的启动所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复