go_study/fabric-main/integration/nwo/template/configtx_template.go

261 lines
6.7 KiB
Go

/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package template
const DefaultConfigTx = `---
{{ with $w := . -}}
Organizations:{{ range .PeerOrgs }}
- &{{ .MSPID }}
Name: {{ .Name }}
ID: {{ .MSPID }}
MSPDir: {{ $w.PeerOrgMSPDir . }}
Policies:
{{- if .EnableNodeOUs }}
Readers:
Type: Signature
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.peer', '{{.MSPID}}.client')
Writers:
Type: Signature
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.client')
Endorsement:
Type: Signature
Rule: OR('{{.MSPID}}.peer')
Admins:
Type: Signature
Rule: OR('{{.MSPID}}.admin')
{{- else }}
Readers:
Type: Signature
Rule: OR('{{.MSPID}}.member')
Writers:
Type: Signature
Rule: OR('{{.MSPID}}.member')
Endorsement:
Type: Signature
Rule: OR('{{.MSPID}}.member')
Admins:
Type: Signature
Rule: OR('{{.MSPID}}.admin')
{{- end }}
AnchorPeers:{{ range $w.AnchorsInOrg .Name }}
- Host: 127.0.0.1
Port: {{ $w.PeerPort . "Listen" }}
{{- end }}
{{- end }}
{{- range .IdemixOrgs }}
- &{{ .MSPID }}
Name: {{ .Name }}
ID: {{ .MSPID }}
MSPDir: {{ $w.IdemixOrgMSPDir . }}
MSPType: idemix
Policies:
{{- if .EnableNodeOUs }}
Readers:
Type: Signature
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.peer', '{{.MSPID}}.client')
Writers:
Type: Signature
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.client')
Endorsement:
Type: Signature
Rule: OR('{{.MSPID}}.peer')
Admins:
Type: Signature
Rule: OR('{{.MSPID}}.admin')
{{- else }}
Readers:
Type: Signature
Rule: OR('{{.MSPID}}.member')
Writers:
Type: Signature
Rule: OR('{{.MSPID}}.member')
Endorsement:
Type: Signature
Rule: OR('{{.MSPID}}.member')
Admins:
Type: Signature
Rule: OR('{{.MSPID}}.admin')
{{- end }}
{{ end }}
{{- range .OrdererOrgs }}
- &{{ .MSPID }}
Name: {{ .Name }}
ID: {{ .MSPID }}
MSPDir: {{ $w.OrdererOrgMSPDir . }}
Policies:
{{- if .EnableNodeOUs }}
Readers:
Type: Signature
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.orderer', '{{.MSPID}}.client')
Writers:
Type: Signature
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.orderer', '{{.MSPID}}.client')
Admins:
Type: Signature
Rule: OR('{{.MSPID}}.admin')
{{- else }}
Readers:
Type: Signature
Rule: OR('{{.MSPID}}.member')
Writers:
Type: Signature
Rule: OR('{{.MSPID}}.member')
Admins:
Type: Signature
Rule: OR('{{.MSPID}}.admin')
{{- end }}
OrdererEndpoints:{{ range $w.OrderersInOrg .Name }}
- 127.0.0.1:{{ $w.OrdererPort . "Listen" }}
{{- end }}
{{ end }}
Channel: &ChannelDefaults
Capabilities:
V2_0: true
Policies: &DefaultPolicies
Readers:
Type: ImplicitMeta
Rule: ANY Readers
Writers:
Type: ImplicitMeta
Rule: ANY Writers
Admins:
Type: ImplicitMeta
Rule: MAJORITY Admins
Profiles:{{ range .Profiles }}
{{ .Name }}:
{{- if .ChannelCapabilities}}
Capabilities:{{ range .ChannelCapabilities}}
{{ . }}: true
{{- end}}
Policies:
<<: *DefaultPolicies
{{- else }}
<<: *ChannelDefaults
{{- end}}
{{- if .Orderers }}
Orderer:
OrdererType: {{ $w.Consensus.Type }}
Addresses:{{ range .Orderers }}{{ with $w.Orderer . }}
- 127.0.0.1:{{ $w.OrdererPort . "Listen" }}
{{- end }}{{ end }}
{{- if .Blocks}}
BatchTimeout: {{ .Blocks.BatchTimeout }}s
BatchSize:
MaxMessageCount: {{ .Blocks.MaxMessageCount }}
AbsoluteMaxBytes: {{ .Blocks.AbsoluteMaxBytes }} MB
PreferredMaxBytes: {{ .Blocks.PreferredMaxBytes }} KB
{{- else }}
BatchTimeout: 1s
BatchSize:
MaxMessageCount: 1
AbsoluteMaxBytes: 98 MB
PreferredMaxBytes: 512 KB
{{- end}}
Capabilities:
V2_0: true
{{- if eq $w.Consensus.Type "BFT" }}
ConsenterMapping:{{ range $index, $orderer := .Orderers }}{{ with $w.Orderer . }}
- ID: {{ .Id }}
Host: 127.0.0.1
Port: {{ $w.OrdererPort . "Cluster" }}
MSPID: {{ ($w.Organization .Organization).MSPID}}
ClientTLSCert: {{ $w.OrdererLocalCryptoDir . "tls" }}/server.crt
ServerTLSCert: {{ $w.OrdererLocalCryptoDir . "tls" }}/server.crt
Identity: {{ $w.OrdererSignCert .}}
{{- end }}{{- end }}
{{- end }}
{{- if eq $w.Consensus.Type "etcdraft" }}
EtcdRaft:
Options:
TickInterval: 500ms
SnapshotIntervalSize: 1 KB
Consenters:{{ range .Orderers }}{{ with $w.Orderer . }}
- Host: 127.0.0.1
Port: {{ $w.OrdererPort . "Cluster" }}
ClientTLSCert: {{ $w.OrdererLocalCryptoDir . "tls" }}/server.crt
ServerTLSCert: {{ $w.OrdererLocalCryptoDir . "tls" }}/server.crt
{{- end }}{{- end }}
{{- end }}
Organizations:{{ range $w.OrgsForOrderers .Orderers }}
- *{{ .MSPID }}
{{- end }}
Policies:
Readers:
Type: ImplicitMeta
Rule: ANY Readers
Writers:
Type: ImplicitMeta
Rule: ANY Writers
Admins:
Type: ImplicitMeta
Rule: MAJORITY Admins
BlockValidation:
Type: ImplicitMeta
Rule: ANY Writers
{{- end }}
Application:
Capabilities:
{{- if .AppCapabilities }}{{ range .AppCapabilities }}
{{ . }}: true
{{- end }}
{{- else }}
V1_3: true
{{- end }}
Organizations:{{ range .Organizations }}
- *{{ ($w.Organization .).MSPID }}
{{- end}}
Policies:
Readers:
Type: ImplicitMeta
Rule: ANY Readers
Writers:
Type: ImplicitMeta
Rule: ANY Writers
Admins:
Type: ImplicitMeta
Rule: MAJORITY Admins
LifecycleEndorsement:
Type: ImplicitMeta
Rule: "MAJORITY Endorsement"
Endorsement:
Type: ImplicitMeta
Rule: "MAJORITY Endorsement"
Consortium: {{ .Consortium }}
{{- end }}
{{ end }}
`
const OrgUpdateConfigTxTemplate = `---
{{ with $w := . -}}
Organizations:{{ range .PeerOrgs }}
- &{{ .MSPID }}
Name: {{ .Name }}
ID: {{ .MSPID }}
MSPDir: {{ $w.PeerOrgMSPDir . }}
Policies:
Readers:
Type: Signature
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.peer', '{{.MSPID}}.client')
Writers:
Type: Signature
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.client')
Endorsement:
Type: Signature
Rule: OR('{{.MSPID}}.peer')
Admins:
Type: Signature
Rule: OR('{{.MSPID}}.admin')
AnchorPeers:{{ range $w.AnchorsInOrg .Name }}
- Host: 127.0.0.1
Port: {{ $w.PeerPort . "Listen" }}
{{- end }}
{{- end }}
{{ end }}
`