我是靠谱客的博主 精明故事,这篇文章主要介绍混子日记——校园征信项目2Fabric组织节点部署各组织节点的启动,现在分享给大家,希望可以做个参考。

基于fabric的校园征信系统——各组织节点的配置及启动

  • Fabric组织节点部署
    • Orderer与组织节点分配
    • 配置文件的编写
  • 各组织节点的启动
    • docker—compose文件的编写
    • 启动各节点

Fabric组织节点部署

Orderer与组织节点分配

名称Hostname组织机构组织ID机构名称
ordererorderer.rjxy.cnOrderer
peer0peer0.orgschool.rixy.cnOrgSchoolOrgSchoolMSP学校
peer1peer0.orgschool.rixy.cnOrgSchoolOrgSchoolMSP学校
peer0peer0.orgenterprise.rixy.cnOrgEnterpriseOrgEnterpriseMSP企业
peer1peer0.orgenterprise.rixy.cnOrgEnterpriseOrgEnterpriseMSP企业
peer0peer0.orgcredit.rixy.cnOrgCreditOrgCreditMSP第三方征信
peer1peer0.orgcredit.rixy.cnOrgCreditOrgCreditMSP第三方征信

       本项目中设定三个组织:学校,企业,第三方征信机构
       每个组织中的 peer 节点数:2
       每个组织对应一个单独的channel: schoolchannel , enterprisechannel , creditchannel
       三个组织有一个共同的 channel:unionchannel
       根域名使用:rjxy.cn

       项目为测试环境,为简化步骤降低成本所以采用solo机制,在企业中通常采用采取kafka的共识机制。

配置文件的编写

       上一篇文章已经搭建好fabric框架,这篇文章我们利用框架完成搭建自己的联盟链。首先在家目录下创建项目文件夹,这里我们取名为school-credit。
       第一步编写crypto-config.yaml文件并生成证书目录。

复制代码
1
2
3
#利用crytogen showtemplate 命令生成配置文件模板,在此基础上加以修改 cryptogen showtemplate > crypto-config.yaml

       将文件修改为:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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
复制代码
1
2
3
#接下来用 cryptogen generate 命令生成证书目录,执行后可看到crypto-config文件夹 cryptogen generate --config=./crypto-config.yaml

       第二步编辑configtx.yaml文件并生成通道及创世块文件
       首先复制上篇文章中first-sample/first-network中的cofigtx.yaml文件到项目目录中来,相当于借助于demo模板进行修改。
       接下来修改文件为:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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文件夹用来存放创世块及通道文件。

复制代码
1
2
3
#利用configtxgen 命令生成genesis.block文件 configtxgen -profile ThreeOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block

       在这里我遇到yaml格式的错误,算是我踩到的坑,一定不要有tab缩进,格式一定要严谨,包括注释信息。建议部署之间利用yaml格式校验器检验一下。

复制代码
1
2
3
panic: Error reading configuration: While parsing config: yaml: line 104: found character that cannot start any token

       下面生成通道文件

复制代码
1
2
3
4
5
6
7
8
9
#生成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

       生成锚节点更新文件(此操作可选)

复制代码
1
2
3
4
5
6
7
#生成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作为模板加以修改
       修改为以下内容:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
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

启动各节点

       接下来就可以按照配置文件进行节点的启动了

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#启动各个节点 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组织节点部署各组织节点内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部