我正在从头开始构建超级账本结构,我从https://github.com/feitnomore/hyperledger-fabric-kubernetes/blob/master/README.md获取了大部分命令,但我正在使用图像docker.io /hyperledger/fabric-tools:2.5.7 用于容器。
configtxgen 版本是:
root@fabric-tools:/fabric# configtxgen -version
configtxgen:
Version: v2.5.7
Commit SHA: 5efcea7
Go version: go1.21.9
OS/Arch: linux/amd64
我到达了必须在“fabric-tools”pod 中运行以下命令的部分:
cd /fabric ; configtxgen -profile FourOrgsOrdererGenesis \
-outputBlock genesis.block -channelID channel00
之后的回报是:
2024-04-29 14:26:31.147 EEST 0001 INFO [common.tools.configtxgen] main -> Loading configuration
2024-04-29 14:26:31.149 EEST 0002 PANI [common.tools.configtxgen.localconfig] Load -> Error reading configuration: yaml: line 227: did not find expected key
2024-04-29 14:26:31.150 EEST 0003 PANI [common.tools.configtxgen] func1 -> Error reading configuration: yaml: line 227: did not find expected key
panic: Error reading configuration: yaml: line 227: did not find expected key [recovered]
panic: Error reading configuration: yaml: line 227: did not find expected key
goroutine 1 [running]:
go.uber.org/zap/zapcore.CheckWriteAction.OnWrite(0x0?, 0x46?, {0x0?, 0x0?, 0xc0003b6300?})
/vendor/go.uber.org/zap/zapcore/entry.go:196 +0x54
go.uber.org/zap/zapcore.(*CheckedEntry).Write(0xc0003c8a90, {0x0, 0x0, 0x0})
/vendor/go.uber.org/zap/zapcore/entry.go:262 +0x3ec
go.uber.org/zap.(*SugaredLogger).log(0xc000045d68, 0x4, {0xc00034a140?, 0x0?}, {0x0?, 0xc00034a0f0?, 0x30?}, {0x0, 0x0, 0x0})
/vendor/go.uber.org/zap/sugar.go:316 +0xec
go.uber.org/zap.(*SugaredLogger).Panicf(...)
/vendor/go.uber.org/zap/sugar.go:202
github.com/hyperledger/fabric/common/flogging.(*FabricLogger).Panic(0xc000045d70, {0xc00050b958?, 0xd24c4c?, 0x16?})
/common/flogging/zap.go:73 +0x57
main.main.func1()
/cmd/configtxgen/main.go:261 +0x1cc
panic({0xbe08a0?, 0xc00032d2f0?})
/usr/local/go/src/runtime/panic.go:914 +0x21f
go.uber.org/zap/zapcore.CheckWriteAction.OnWrite(0x0?, 0xcdc801?, {0x0?, 0x0?, 0xc0003b7440?})
/vendor/go.uber.org/zap/zapcore/entry.go:196 +0x54
go.uber.org/zap/zapcore.(*CheckedEntry).Write(0xc0003c8820, {0x0, 0x0, 0x0})
/vendor/go.uber.org/zap/zapcore/entry.go:262 +0x3ec
go.uber.org/zap.(*SugaredLogger).log(0xc000045150, 0x4, {0xd2c91f?, 0x15?}, {0xc00050bd70?, 0xadfa90?, 0xff7744?}, {0x0, 0x0, 0x0})
/vendor/go.uber.org/zap/sugar.go:316 +0xec
go.uber.org/zap.(*SugaredLogger).Panicf(...)
/vendor/go.uber.org/zap/sugar.go:202
github.com/hyperledger/fabric/common/flogging.(*FabricLogger).Panicf(...)
/common/flogging/zap.go:74
github.com/hyperledger/fabric/internal/configtxgen/genesisconfig.Load({0x7ffe2e0e1d8f, 0x16}, {0x0, 0x0, 0xd268df?})
/internal/configtxgen/genesisconfig/config.go:238 +0x1bc
main.main()
/cmd/configtxgen/main.go:279 +0x84c
command terminated with exit code 2
“configtx.yaml”的内容是:
---
Organizations:
- &OrdererOrg
Name: OrdererOrg
ID: OrdererMSP
MSPDir: crypto-config/ordererOrganizations/example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('OrdererMSP.member')"
Writers:
Type: Signature
Rule: "OR('OrdererMSP.member')"
Admins:
Type: Signature
Rule: "OR('OrdererMSP.admin')"
- &Org00
Name: Org00MSP
ID: Org00MSP
MSPDir: crypto-config/peerOrganizations/org00.example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('Org00MSP.admin', 'Org00MSP.peer', 'Org00MSP.client')"
Writers:
Type: Signature
Rule: "OR('Org00MSP.admin', 'Org00MSP.client')"
Admins:
Type: Signature
Rule: "OR('Org00MSP.admin')"
Endorsement:
Type: Signature
Rule: "OR('Org00MSP.peer')"
AnchorPeers:
- Host: org00peer0
Port: 301101
- Host: org00peer1
Port: 30110
- &Org01
Name: Org01MSP
ID: Org01MSP
MSPDir: crypto-config/peerOrganizations/org01.example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('Org01MSP.admin', 'Org01MSP.peer', 'Org01MSP.client')"
Writers:
Type: Signature
Rule: "OR('Org01MSP.admin', 'Org01MSP.client')"
Admins:
Type: Signature
Rule: "OR('Org01MSP.admin')"
Endorsement:
Type: Signature
Rule: "OR('Org01MSP.peer')"
AnchorPeers:
- Host: org01peer0
Port: 301101
- Host: org01peer1
Port: 30110
- &Org02
Name: Org02MSP
ID: Org02MSP
MSPDir: crypto-config/peerOrganizations/org02.example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('Org02MSP.admin', 'Org02MSP.peer', 'Org02MSP.client')"
Writers:
Type: Signature
Rule: "OR('Org02MSP.admin', 'Org02MSP.client')"
Admins:
Type: Signature
Rule: "OR('Org02MSP.admin')"
Endorsement:
Type: Signature
Rule: "OR('Org02MSP.peer')"
AnchorPeers:
- Host: org02peer0
Port: 301101
- Host: org02peer1
Port: 30110
- &Org03
Name: Org03MSP
ID: Org03MSP
MSPDir: crypto-config/peerOrganizations/org03.example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('Org03MSP.admin', 'Org03MSP.peer', 'Org03MSP.client')"
Writers:
Type: Signature
Rule: "OR('Org03MSP.admin', 'Org03MSP.client')"
Admins:
Type: Signature
Rule: "OR('Org03MSP.admin')"
Endorsement:
Type: Signature
Rule: "OR('Org03MSP.peer')"
AnchorPeers:
- Host: org03peer0
Port: 301101
- Host: org03peer1
Port: 30110
Capabilities:
Channel: &ChannelCapabilities
V2_0: true
Orderer: &OrdererCapabilities
V2_0: true
Application: &ApplicationCapabilities
V2_0: true
Application: &ApplicationDefaults
Organizations:
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"
Capabilities:
<<: *ApplicationCapabilities
Orderer: &OrdererDefaults
OrdererType: kafka
Addresses:
- orderer:31010
BatchTimeout: 1s
BatchSize:
MaxMessageCount: 50
AbsoluteMaxBytes: 99 MB
PreferredMaxBytes: 512 KB
Kafka:
Brokers: [ 10.0.2.200:9092 , 10.0.2.201:9092 , 10.0.2.202:9092 , 10.0.2.203:9092 ]
Organizations:
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"
Channel: &fourorgschannel
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
Capabilities:
<<: *ChannelCapabilities
Profiles:
FourOrgsOrdererGenesis:
<<: *fourorgschannel
Orderer:
<<: *OrdererDefaults
Organizations:
- *OrdererOrg
Consortiums:
SampleConsortium:
Organizations:
- *Org00
- *Org01
- *Org02
- *Org03
FourOrgsChannel:
Consortium: SampleConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *Org00
- *Org01
- *Org02
- *Org03
有人知道为什么我会收到此错误吗?
我正在尝试从头开始设置超级账本结构,但我偶然发现了上面的错误。
我现在已经过去了,我将 configtx.yaml 更改为:
---
Organizations:
- &OrdererOrg
Name: OrdererOrg
ID: OrdererMSP
MSPDir: crypto-config/ordererOrganizations/example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('OrdererMSP.member')"
Writers:
Type: Signature
Rule: "OR('OrdererMSP.member')"
Admins:
Type: Signature
Rule: "OR('OrdererMSP.admin')"
- &Org00
Name: Org00MSP
ID: Org00MSP
MSPDir: crypto-config/peerOrganizations/org00.example.com/msp
AnchorPeers:
- Host: org00peer0
Port: 301101
- Host: org00peer1
Port: 30110
Policies:
Readers:
Type: Signature
Rule: "OR('Org00MSP.admin', 'Org00MSP.peer', 'Org00MSP.client')"
Writers:
Type: Signature
Rule: "OR('Org00MSP.admin', 'Org00MSP.client')"
Admins:
Type: Signature
Rule: "OR('Org00MSP.admin')"
Endorsement:
Type: Signature
Rule: "OR('Org00MSP.peer')"
- &Org01
Name: Org01MSP
ID: Org01MSP
MSPDir: crypto-config/peerOrganizations/org01.example.com/msp
AnchorPeers:
- Host: org01peer0
Port: 301101
- Host: org01peer1
Port: 30110
Policies:
Readers:
Type: Signature
Rule: "OR('Org01MSP.admin', 'Org01MSP.peer', 'Org01MSP.client')"
Writers:
Type: Signature
Rule: "OR('Org01MSP.admin', 'Org01MSP.client')"
Admins:
Type: Signature
Rule: "OR('Org01MSP.admin')"
Endorsement:
Type: Signature
Rule: "OR('Org01MSP.peer')"
- &Org02
Name: Org02MSP
ID: Org02MSP
MSPDir: crypto-config/peerOrganizations/org02.example.com/msp
AnchorPeers:
- Host: org02peer0
Port: 301101
- Host: org02peer1
Port: 30110
Policies:
Readers:
Type: Signature
Rule: "OR('Org02MSP.admin', 'Org02MSP.peer', 'Org02MSP.client')"
Writers:
Type: Signature
Rule: "OR('Org02MSP.admin', 'Org02MSP.client')"
Admins:
Type: Signature
Rule: "OR('Org02MSP.admin')"
Endorsement:
Type: Signature
Rule: "OR('Org02MSP.peer')"
- &Org03
Name: Org03MSP
ID: Org03MSP
MSPDir: crypto-config/peerOrganizations/org03.example.com/msp
AnchorPeers:
- Host: org03peer0
Port: 301101
- Host: org03peer1
Port: 30110
Policies:
Readers:
Type: Signature
Rule: "OR('Org03MSP.admin', 'Org03MSP.peer', 'Org03MSP.client')"
Writers:
Type: Signature
Rule: "OR('Org03MSP.admin', 'Org03MSP.client')"
Admins:
Type: Signature
Rule: "OR('Org03MSP.admin')"
Endorsement:
Type: Signature
Rule: "OR('Org03MSP.peer')"
Capabilities:
Global: &ChannelCapabilities
V1_3: true
Orderer: &OrdererCapabilities
V1_1: true
Application: &ApplicationCapabilities
V1_3: true
Application: &ApplicationDefaults
Organizations:
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"
Capabilities:
<<: *ApplicationCapabilities
Orderer: &OrdererDefaults
OrdererType: kafka
Addresses:
- orderer:31010
BatchTimeout: 1s
BatchSize:
MaxMessageCount: 50
AbsoluteMaxBytes: 99 MB
PreferredMaxBytes: 512 KB
Kafka:
Brokers: [ 10.0.2.200:9092 , 10.0.2.201:9092 , 10.0.2.202:9092 , 10.0.2.203:9092 ]
Organizations:
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"
Channel: &fourorgschannel
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
Capabilities:
<<: *ChannelCapabilities
Profiles:
FourOrgsChannel:
<<: *fourorgschannel
Capabilities:
<<: *ChannelCapabilities
Consortiums:
MyConsortium:
Organizations:
- *Org00
- *Org01
- *Org02
- *Org03
Application:
<<: *ApplicationDefaults
Organizations:
- *Org00
- *Org01
- *Org02
- *Org03
FourOrgsOrdererGenesis:
<<: *fourorgschannel
Orderer:
<<: *OrdererDefaults
Organizations:
- *OrdererOrg
Consortiums:
SampleConsortium:
Organizations:
- *Org00
- *Org01
- *Org02
- *Org03
我可以执行
cd /fabric ; configtxgen -profile FourOrgsOrdererGenesis -outputBlock genesis.block -channelID channel00
在“织物工具”窗格中。
然后:
configtxgen -profile FourOrgsChannel -outputAnchorPeersUpdate ./Org00MSPanchors.tx -channelID channel00 -asOrg Org00MSP -configPath /fabric/
configtxgen -profile FourOrgsChannel -outputAnchorPeersUpdate ./Org01MSPanchors.tx -channelID channel00 -asOrg Org01MSP -configPath /fabric/
configtxgen -profile FourOrgsChannel -outputAnchorPeersUpdate ./Org02MSPanchors.tx -channelID channel00 -asOrg Org02MSP -configPath /fabric/
configtxgen -profile FourOrgsChannel -outputAnchorPeersUpdate ./Org03MSPanchors.tx -channelID channel00 -asOrg Org03MSP -configPath /fabric/
在教程指定的同一个 Pod 上。
我到达了引导订购者的部分:
kubectl apply -f blockchain-orderer_deploy.yaml
其中“blockchain-orderer_svc.yaml”是:
apiVersion: apps/v1
kind: Deployment
metadata:
name: orderer
labels:
app: orderer
spec:
replicas: 3
selector:
matchLabels:
app: orderer
template:
metadata:
labels:
app: orderer
spec:
volumes:
- name: fabricfiles
persistentVolumeClaim:
claimName: pvc00
containers:
- name: orderer
image: hyperledger/fabric-orderer:latest
command: ["sh", "-c", "orderer"]
env:
- name: TZ
value: "Europe/Bucharest"
- name: ORDERER_CFG_PATH
value: /fabric/
- name: ORDERER_GENERAL_LEDGERTYPE
value: file
- name: ORDERER_FILELEDGER_LOCATION
value: /fabric/ledger/orderer
- name: ORDERER_GENERAL_BATCHTIMEOUT
value: 1s
- name: ORDERER_GENERAL_BATCHSIZE_MAXMESSAGECOUNT
value: "10"
- name: ORDERER_GENERAL_MAXWINDOWSIZE
value: "1000"
- name: CONFIGTX_GENERAL_ORDERERTYPE
value: kafka
- name: CONFIGTX_ORDERER_KAFKA_BROKERS
value: "10.0.2.200:9092,10.0.2.201:9092,10.0.2.202:9092,10.0.2.203:9092"
- name: ORDERER_KAFKA_RETRY_SHORTINTERVAL
value: 1s
- name: ORDERER_KAFKA_RETRY_SHORTTOTAL
value: 30s
- name: ORDERER_KAFKA_VERBOSE
value: "true"
- name: CONFIGTX_ORDERER_ADDRESSES
value: "orderer:31010"
- name: ORDERER_GENERAL_LISTENADDRESS
value: 0.0.0.0
- name: ORDERER_GENERAL_LISTENPORT
value: "31010"
- name: ORDERER_GENERAL_LOGLEVEL
value: debug
- name: ORDERER_GENERAL_LOCALMSPDIR
value: /fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp
- name: ORDERER_GENERAL_LOCALMSPID
value: OrdererMSP
- name: ORDERER_GENERAL_GENESISMETHOD
value: file
- name: ORDERER_GENERAL_GENESISFILE
value: /fabric/genesis.block
- name: ORDERER_GENERAL_GENESISPROFILE
value: initial
- name: ORDERER_GENERAL_TLS_ENABLED
value: "false"
- name: GODEBUG
value: "netdns=go"
- name: ORDERER_GENERAL_LEDGERTYPE
value: "ram"
volumeMounts:
- mountPath: /fabric
name: fabricfiles
但是,现在我面临另一个错误。订购者日志显示了这一点:
2024-04-30 12:59:04.850 UTC 0001 WARN [localconfig] completeInitialization -> General.GenesisFile should be replaced by General.BootstrapFile
2024-04-30 12:59:04.853 UTC 0002 INFO [localconfig] completeInitialization -> Kafka.Version unset, setting to 0.10.2.0
2024-04-30 12:59:04.856 UTC 0003 INFO [orderer.common.server] prettyPrintStruct -> Orderer config values:
General.ListenAddress = "0.0.0.0"
General.ListenPort = 31010
General.TLS.Enabled = false
General.TLS.PrivateKey = "/etc/hyperledger/fabric/tls/server.key"
General.TLS.Certificate = "/etc/hyperledger/fabric/tls/server.crt"
General.TLS.RootCAs = [/etc/hyperledger/fabric/tls/ca.crt]
General.TLS.ClientAuthRequired = false
General.TLS.ClientRootCAs = []
General.TLS.TLSHandshakeTimeShift = 0s
General.Cluster.ListenAddress = ""
General.Cluster.ListenPort = 0
General.Cluster.ServerCertificate = ""
General.Cluster.ServerPrivateKey = ""
General.Cluster.ClientCertificate = ""
General.Cluster.ClientPrivateKey = ""
General.Cluster.RootCAs = []
General.Cluster.DialTimeout = 5s
General.Cluster.RPCTimeout = 7s
General.Cluster.ReplicationBufferSize = 20971520
General.Cluster.ReplicationPullTimeout = 5s
General.Cluster.ReplicationRetryTimeout = 5s
General.Cluster.ReplicationBackgroundRefreshInterval = 5m0s
General.Cluster.ReplicationMaxRetries = 12
General.Cluster.SendBufferSize = 100
General.Cluster.CertExpirationWarningThreshold = 168h0m0s
General.Cluster.TLSHandshakeTimeShift = 0s
General.Keepalive.ServerMinInterval = 1m0s
General.Keepalive.ServerInterval = 2h0m0s
General.Keepalive.ServerTimeout = 20s
General.ConnectionTimeout = 0s
General.GenesisMethod = "file"
General.GenesisFile = "/fabric/genesis.block"
General.BootstrapMethod = "file"
General.BootstrapFile = "/fabric/genesis.block"
General.Profile.Enabled = false
General.Profile.Address = "0.0.0.0:6060"
General.LocalMSPDir = "/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp"
General.LocalMSPID = "OrdererMSP"
General.BCCSP.Default = "SW"
General.BCCSP.SW.Security = 256
General.BCCSP.SW.Hash = "SHA2"
General.BCCSP.SW.FileKeystore.KeyStorePath = ""
General.Authentication.TimeWindow = 15m0s
General.Authentication.NoExpirationChecks = false
General.MaxRecvMsgSize = 104857600
General.MaxSendMsgSize = 104857600
FileLedger.Location = "/fabric/ledger/orderer"
FileLedger.Prefix = ""
Kafka.Retry.ShortInterval = 1s
Kafka.Retry.ShortTotal = 30s
Kafka.Retry.LongInterval = 5m0s
Kafka.Retry.LongTotal = 12h0m0s
Kafka.Retry.NetworkTimeouts.DialTimeout = 10s
Kafka.Retry.NetworkTimeouts.ReadTimeout = 10s
Kafka.Retry.NetworkTimeouts.WriteTimeout = 10s
Kafka.Retry.Metadata.RetryMax = 3
Kafka.Retry.Metadata.RetryBackoff = 250ms
Kafka.Retry.Producer.RetryMax = 3
Kafka.Retry.Producer.RetryBackoff = 100ms
Kafka.Retry.Consumer.RetryBackoff = 2s
Kafka.Verbose = true
Kafka.Version = 0.10.2.0
Kafka.TLS.Enabled = false
Kafka.TLS.PrivateKey = ""
Kafka.TLS.Certificate = ""
Kafka.TLS.RootCAs = []
Kafka.TLS.ClientAuthRequired = false
Kafka.TLS.ClientRootCAs = []
Kafka.TLS.TLSHandshakeTimeShift = 0s
Kafka.SASLPlain.Enabled = false
Kafka.SASLPlain.User = ""
Kafka.SASLPlain.Password = ""
Kafka.Topic.ReplicationFactor = 3
Debug.BroadcastTraceDir = ""
Debug.DeliverTraceDir = ""
Consensus = map[SnapDir:/var/hyperledger/production/orderer/etcdraft/snapshot WALDir:/var/hyperledger/production/orderer/etcdraft/wal]
Operations.ListenAddress = "127.0.0.1:8443"
Operations.TLS.Enabled = false
Operations.TLS.PrivateKey = ""
Operations.TLS.Certificate = ""
Operations.TLS.RootCAs = []
Operations.TLS.ClientAuthRequired = false
Operations.TLS.ClientRootCAs = []
Operations.TLS.TLSHandshakeTimeShift = 0s
Metrics.Provider = "disabled"
Metrics.Statsd.Network = "udp"
Metrics.Statsd.Address = "127.0.0.1:8125"
Metrics.Statsd.WriteInterval = 30s
Metrics.Statsd.Prefix = ""
ChannelParticipation.Enabled = false
ChannelParticipation.MaxRequestBodySize = 1048576
Admin.ListenAddress = "127.0.0.1:9443"
Admin.TLS.Enabled = false
Admin.TLS.PrivateKey = ""
Admin.TLS.Certificate = ""
Admin.TLS.RootCAs = []
Admin.TLS.ClientAuthRequired = true
Admin.TLS.ClientRootCAs = []
Admin.TLS.TLSHandshakeTimeShift = 0s
2024-04-30 12:59:04.971 UTC 0004 PANI [orderer.common.server] Main -> Failed validating bootstrap block: cannot enable channel capabilities without orderer support first
panic: Failed validating bootstrap block: cannot enable channel capabilities without orderer support first
goroutine 1 [running]:
go.uber.org/zap/zapcore.CheckWriteAction.OnWrite(0x0?, 0xc0001f2fc8?, {0x0?, 0x0?, 0xc000089c40?})
/vendor/go.uber.org/zap/zapcore/entry.go:196 +0x54
go.uber.org/zap/zapcore.(*CheckedEntry).Write(0xc00046dee0, {0x0, 0x0, 0x0})
/vendor/go.uber.org/zap/zapcore/entry.go:262 +0x3ec
go.uber.org/zap.(*SugaredLogger).log(0xc00028a290, 0x4, {0x11c0ff9?, 0x0?}, {0xc0001f35f8?, 0x0?, 0x0?}, {0x0, 0x0, 0x0})
/vendor/go.uber.org/zap/sugar.go:316 +0xec
go.uber.org/zap.(*SugaredLogger).Panicf(...)
/vendor/go.uber.org/zap/sugar.go:202
github.com/hyperledger/fabric/common/flogging.(*FabricLogger).Panicf(...)
/common/flogging/zap.go:74
github.com/hyperledger/fabric/orderer/common/server.Main()
/orderer/common/server/main.go:130 +0x7a8
main.main()
/cmd/orderer/main.go:15 +0xf
command terminated with exit code 2
这给了我很多错误。这个错误比另一个错误更不那么神秘,我通过从“https://www.geeksforgeeks.org/using-configtx-yaml-to-build-a-channel-”导入另一个“configtx.yaml”来解决了上一个错误configuration-in-hyperledger/”并将其与我已经拥有的内容相结合,并且还遇到了一些错误,我可以在 Holy Google 的帮助下管理这些错误。但现在我被屏蔽了,没有谷歌可以帮助我......