-
Notifications
You must be signed in to change notification settings - Fork 5
/
config-org3.yaml
332 lines (290 loc) · 14.3 KB
/
config-org3.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
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
name: "privateledger-network"
#
# Schema version of the content. Used by the SDK to apply the corresponding parsing rules.
#
version: 1.0.0
#
# The client section used by GO SDK.
#
client:
# Which organization does this application instance belong to? The value must be the name of an org
# defined under "organizations"
organization: org3
logging:
level: info
# Global configuration for peer, event service and orderer timeouts
# if this this section is omitted, then default values will be used (same values as below)
peer:
timeout:
connection: 10s
response: 180s
discovery:
# Expiry period for discovery service greylist filter
# The channel client will greylist peers that are found to be offline
# to prevent re-selecting them in subsequent retries.
# This interval will define how long a peer is greylisted
greylistExpiry: 10s
eventService:
# Event service type (optional). If not specified then the type is automatically
# determined from channel capabilities.
type: (deliver)
# the below timeouts are commented out to use the default values that are found in
# "pkg/fab/endpointconfig.go"
# the client is free to override the default values by uncommenting and resetting
# the values as they see fit in their config file
timeout:
connection: 15s
registrationResponse: 15s
orderer:
timeout:
connection: 15s
response: 15s
global:
timeout:
query: 180s
execute: 180s
resmgmt: 180s
cache:
connectionIdle: 30s
eventServiceIdle: 2m
channelConfig: 30m
channelMembership: 30s
discovery: 10s
selection: 10m
# Root of the MSP directories with keys and certs.
cryptoconfig:
path: ${GOPATH}/src/privateledger/fixtures/crypto-config
# Some SDKs support pluggable KV stores, the properties under "credentialStore"
# are implementation specific
credentialStore:
path: /tmp/privateledger-store
# [Optional]. Specific to the CryptoSuite implementation used by GO SDK. Software-based implementations
# requiring a key store. PKCS#11 based implementations does not.
cryptoStore:
path: /tmp/privateledger-msp
# BCCSP config for the client. Used by GO SDK.
BCCSP:
security:
enabled: true
default:
provider: "SW"
hashAlgorithm: "SHA2"
softVerify: true
level: 256
tlsCerts:
# [Optional]. Use system certificate pool when connecting to peers, orderers (for negotiating TLS) Default: false
enabled: true
systemCertPool: false
# [Optional]. Client key and cert for TLS handshake with peers and orderers
client:
key:
cert:
# [Optional]. But most apps would have this section so that channel objects can be constructed
# based on the content below. If an app is creating channels, then it likely will not need this
# section.
#
channels:
# name of the channel
privateledger:
# Required. list of orderers designated by the application to use for transactions on this
# channel. This list can be a result of access control ("org3" can only access "ordererA"), or
# operational decisions to share loads from applications among the orderers. The values must
# be "names" of orgs defined under "organizations/peers"
# deprecated: not recommended, to override any orderer configuration items, entity matchers should be used.
# orderers:
# - orderer.example.com
# Required. list of peers from participating orgs
peers:
peer0.org3.private.ledger.com:
# [Optional]. will this peer be sent transaction proposals for endorsement? The peer must
# have the chaincode installed. The app can also use this property to decide which peers
# to send the chaincode install request. Default: true
endorsingPeer: true
# [Optional]. will this peer be sent query proposals? The peer must have the chaincode
# installed. The app can also use this property to decide which peers to send the
# chaincode install request. Default: true
chaincodeQuery: true
# [Optional]. will this peer be sent query proposals that do not require chaincodes, like
# queryBlock(), queryTransaction(), etc. Default: true
ledgerQuery: true
# [Optional]. will this peer be the target of the SDK's listener registration? All peers can
# produce events but the app typically only needs to connect to one to listen to events.
# Default: true
eventSource: true
peer1.org3.private.ledger.com:
# [Optional]. will this peer be sent transaction proposals for endorsement? The peer must
# have the chaincode installed. The app can also use this property to decide which peers
# to send the chaincode install request. Default: true
endorsingPeer: true
# [Optional]. will this peer be sent query proposals? The peer must have the chaincode
# installed. The app can also use this property to decide which peers to send the
# chaincode install request. Default: true
chaincodeQuery: true
# [Optional]. will this peer be sent query proposals that do not require chaincodes, like
# queryBlock(), queryTransaction(), etc. Default: true
ledgerQuery: true
# [Optional]. will this peer be the target of the SDK's listener registration? All peers can
# produce events but the app typically only needs to connect to one to listen to events.
# Default: true
eventSource: true
policies:
#[Optional] options for retrieving channel configuration blocks
queryChannelConfig:
#[Optional] min number of success responses (from targets/peers)
minResponses: 1
#[Optional] channel config will be retrieved for these number of random targets
maxTargets: 1
#[Optional] retry options for query config block
retryOpts:
#[Optional] number of retry attempts
attempts: 5
#[Optional] the back off interval for the first retry attempt
initialBackoff: 500ms
#[Optional] the maximum back off interval for any retry attempt
maxBackoff: 5s
#[Optional] he factor by which the initial back off period is exponentially incremented
backoffFactor: 2.0
#
# list of participating organizations in this network
#
organizations:
org3:
mspid: Org3MSP
cryptoPath: peerOrganizations/org3.private.ledger.com/users/{userName}@org3.private.ledger.com/msp
peers:
- peer0.org3.private.ledger.com
- peer1.org3.private.ledger.com
# [Optional]. Certificate Authorities issue certificates for identification purposes in a Fabric based
# network. Typically certificates provisioning is done in a separate process outside of the
# runtime network. Fabric-CA is a special certificate authority that provides a REST APIs for
# dynamic certificate management (enroll, revoke, re-enroll). The following section is only for
# Fabric-CA servers.
certificateAuthorities:
- ca.org3.private.ledger.com
# [Optional]. If the application is going to make requests that are reserved to organization
# administrators, including creating/updating channels, installing/instantiating chaincodes, it
# must have access to the admin identity represented by the private key and signing certificate.
# Both properties can be the PEM string or local path to the PEM file. Note that this is mainly for
# convenience in development mode, production systems should not expose sensitive information
# this way. The SDK should allow applications to set the org admin identity via APIs, and only use
# this route as an alternative when it exists.
adminPrivateKey:
path: ${GOPATH}/src/privateledger/fixtures/crypto-config/peerOrganizations/org3.private.ledger.com/users/[email protected]/msp/keystore/e7c0ee3018fc9bb0c5013189c37647efdaea2a577916a1b07aa6fc19cc6866fa_sk
signedCert:
path: ${GOPATH}/src/privateledger/fixtures/crypto-config/peerOrganizations/org3.private.ledger.com/users/[email protected]/msp/signcerts/[email protected]
ordererorg:
# Membership Service Provider ID for this organization
mspID: OrdererMSP
# Needed to load users crypto keys and certs for this org (absolute path or relative to global crypto path, DEV mode)
cryptoPath: ordererOrganizations/private.ledger.com/users/{username}@private.ledger.com/msp
#
# List of orderers to send transaction and channel create/update requests to. For the time
# being only one orderer is needed. If more than one is defined, which one get used by the
# SDK is implementation specific. Consult each SDK's documentation for its handling of orderers.
#
orderers:
orderer.private.ledger.com:
url: grpcs://localhost:7050
mspid: OrdererMSP
# these are standard properties defined by the gRPC library
# they will be passed in as-is to gRPC client constructor
grpcOptions:
ssl-target-name-override: orderer.private.ledger.com
# These parameters should be set in coordination with the keepalive policy on the server,
# as incompatible settings can result in closing of connection.
# When duration of the 'keep-alive-time' is set to 0 or less the keep alive client parameters are disabled
keep-alive-time: 0s
keep-alive-timeout: 20s
keep-alive-permit: false
fail-fast: false
# allow-insecure will be taken into consideration if address has no protocol defined, if true then grpc or else grpcs
allow-insecure: false
tlsCACerts:
# Certificate location absolute path
#path: ${GOPATH}/src/privateledger/fixtures/crypto-config/ordererOrganizations/private.ledger.com/tlsca/tlsca.private.ledger.com-cert.pem
path: ${GOPATH}/src/privateledger/fixtures/crypto-config/ordererOrganizations/private.ledger.com/orderers/orderer.private.ledger.com/tls/ca.crt
#
# List of peers to send various requests to, including endorsement, query
# and event listener registration.
#
peers:
peer0.org3.private.ledger.com:
# this URL is used to send endorsement and query requests
url: grpcs://localhost:11051
# eventUrl is only needed when using eventhub (default is delivery service)
eventUrl: grpcs://localhost:11053
grpcOptions:
ssl-target-name-override: peer0.org3.private.ledger.com
# These parameters should be set in coordination with the keepalive policy on the server,
# as incompatible settings can result in closing of connection.
# When duration of the 'keep-alive-time' is set to 0 or less the keep alive client parameters are disabled
keep-alive-time: 0s
keep-alive-timeout: 20s
keep-alive-permit: false
fail-fast: false
# allow-insecure will be taken into consideration if address has no protocol defined, if true then grpc or else grpcs
allow-insecure: false
tlsCACerts:
# Certificate location absolute path
#path: ${GOPATH}/src/privateledger/fixtures/crypto-config/peerOrganizations/org3.private.ledger.com/tlsca/tlsca.org3.private.ledger.com-cert.pem
path: ${GOPATH}/src/privateledger/fixtures/crypto-config/peerOrganizations/org3.private.ledger.com/peers/peer0.org3.private.ledger.com/tls/ca.crt
peer1.org3.private.ledger.com:
# this URL is used to send endorsement and query requests
url: grpcs://localhost:12051
# eventUrl is only needed when using eventhub (default is delivery service)
eventUrl: grpcs://localhost:12053
grpcOptions:
ssl-target-name-override: peer1.org3.private.ledger.com
# These parameters should be set in coordination with the keepalive policy on the server,
# as incompatible settings can result in closing of connection.
# When duration of the 'keep-alive-time' is set to 0 or less the keep alive client parameters are disabled
keep-alive-time: 0s
keep-alive-timeout: 20s
keep-alive-permit: false
fail-fast: false
# allow-insecure will be taken into consideration if address has no protocol defined, if true then grpc or else grpcs
allow-insecure: false
tlsCACerts:
# Certificate location absolute path
#path: ${GOPATH}/src/privateledger/fixtures/crypto-config/peerOrganizations/org3.private.ledger.com/tlsca/tlsca.org3.private.ledger.com-cert.pem
path: ${GOPATH}/src/privateledger/fixtures/crypto-config/peerOrganizations/org3.private.ledger.com/peers/peer1.org3.private.ledger.com/tls/ca.crt
#
# Fabric-CA is a special kind of Certificate Authority provided by Hyperledger Fabric which allows
# certificate management to be done via REST APIs. Application may choose to use a standard
# Certificate Authority instead of Fabric-CA, in which case this section would not be specified.
#
certificateAuthorities:
ca.org3.private.ledger.com:
url: http://localhost:9054
tlsCACerts:
# Comma-Separated list of paths
path: ${GOPATH}/src/privateledger/fixtures/crypto-config/peerOrganizations/org3.private.ledger.com/ca/ca.org3.private.ledger.com-cert.pem
# Fabric-CA supports dynamic user enrollment via REST APIs. A "root" user, a.k.a registrar, is
# needed to enroll and invoke new users.
registrar:
enrollId: admin
enrollSecret: adminpw
# [Optional] The optional name of the CA.
caName: ca.org3.private.ledger.com
entityMatchers:
peer:
- pattern: (\w*)peer0.org3.private.ledger.com(\w*)
urlSubstitutionExp: grpcs://localhost:11051
eventUrlSubstitutionExp: grpcs://localhost:11053
sslTargetOverrideUrlSubstitutionExp: peer0.org3.private.ledger.com
mappedHost: peer0.org3.private.ledger.com
- pattern: (\w*)peer1.org3.private.ledger.com(\w*)
urlSubstitutionExp: grpcs://localhost:12051
eventUrlSubstitutionExp: grpcs://localhost:12053
sslTargetOverrideUrlSubstitutionExp: peer1.org3.private.ledger.com
mappedHost: peer1.org3.private.ledger.com
orderer:
- pattern: (\w+).private.ledger.com.(\w+)
urlSubstitutionExp: grpcs://localhost:7050
sslTargetOverrideUrlSubstitutionExp: orderer.private.ledger.com
mappedHost: orderer.private.ledger.com
certificateAuthorities:
- pattern: (\w+).org3.private.ledger.com(\w*)
urlSubstitutionExp: http://localhost:9054
sslTargetOverrideUrlSubstitutionExp: ca.org3.private.ledger.com
mappedHost: ca.org3.private.ledger.com