部署 Hyperledger:configtxgen 问题

问题描述 投票:0回答:1

我正在从头开始构建超级账本结构,我从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

有人知道为什么我会收到此错误吗?

我正在尝试从头开始设置超级账本结构,但我偶然发现了上面的错误。

hyperledger-fabric hyperledger
1个回答
0
投票

我现在已经过去了,我将 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 的帮助下管理这些错误。但现在我被屏蔽了,没有谷歌可以帮助我......

© www.soinside.com 2019 - 2024. All rights reserved.