2017-09-06 1 views
0

J'essaie d'utiliser configtxlator pour ajouter une nouvelle organisation Org3 mais échoue. Ci-dessous l'erreur de journal de la console du serveur:Hyperledger Fabric v1.0 configtxlator ajouter une nouvelle erreur d'organisation

orderer.example.com  | 2017-09-06 10:16:04.960 UTC [orderer/main] Deliver -> DEBU 8b8 Starting new Deliver handler 
orderer.example.com  | 2017-09-06 10:16:04.960 UTC [orderer/common/deliver] Handle -> DEBU 8b9 Starting new deliver loop 
orderer.example.com  | 2017-09-06 10:16:04.960 UTC [orderer/common/deliver] Handle -> DEBU 8ba Attempting to read seek info message 
orderer.example.com  | 2017-09-06 10:16:04.964 UTC [orderer/main] Broadcast -> DEBU 8bb Starting new Broadcast handler 
orderer.example.com  | 2017-09-06 10:16:04.964 UTC [orderer/common/broadcast] Handle -> DEBU 8bc Starting new broadcast loop 
orderer.example.com  | 2017-09-06 10:16:04.964 UTC [orderer/common/broadcast] Handle -> DEBU 8bd Preprocessing CONFIG_UPDATE 
orderer.example.com  | 2017-09-06 10:16:04.964 UTC [orderer/configupdate] Process -> DEBU 8be Processing channel reconfiguration request for channel mychannel 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8bf Adding to config map: [Groups] /Channel 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8c0 Adding to config map: [Groups] /Channel/Orderer 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8c1 Adding to config map: [Groups] /Channel/Application 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8c2 Adding to config map: [Values] /Channel/HashingAlgorithm 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8c3 Adding to config map: [Values] /Channel/OrdererAddresses 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8c4 Adding to config map: [Values] /Channel/BlockDataHashingStructure 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8c5 Adding to config map: [Values] /Channel/Consortium 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8c6 Adding to config map: [Policy] /Channel/Admins 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8c7 Adding to config map: [Policy] /Channel/Readers 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8c8 Adding to config map: [Policy] /Channel/Writers 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8c9 Adding to config map: [Groups] /Channel 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8ca Adding to config map: [Groups] /Channel/Consortiums 
orderer.example.com  | 2017-09-06 10:16:04.965 UTC [common/configtx] addToMap -> DEBU 8cb Adding to config map: [Groups] /Channel/Consortiums/SampleConsortium 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [common/configtx] addToMap -> DEBU 8cc Adding to config map: [Groups] /Channel/Consortiums/SampleConsortium/Org3MSP 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [common/configtx] addToMap -> DEBU 8cd Adding to config map: [Values] /Channel/Consortiums/SampleConsortium/Org3MSP/MSP 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [common/configtx] addToMap -> DEBU 8ce Adding to config map: [Groups] /Channel/Orderer 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [common/configtx] addToMap -> DEBU 8cf Adding to config map: [Groups] /Channel/Application 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [common/configtx] addToMap -> DEBU 8d0 Adding to config map: [Values] /Channel/Consortium 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [common/configtx] addToMap -> DEBU 8d1 Adding to config map: [Values] /Channel/HashingAlgorithm 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [common/configtx] addToMap -> DEBU 8d2 Adding to config map: [Values] /Channel/OrdererAddresses 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [common/configtx] addToMap -> DEBU 8d3 Adding to config map: [Values] /Channel/BlockDataHashingStructure 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [common/configtx] addToMap -> DEBU 8d4 Adding to config map: [Policy] /Channel/Admins 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [common/configtx] addToMap -> DEBU 8d5 Adding to config map: [Policy] /Channel/Readers 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [common/configtx] addToMap -> DEBU 8d6 Adding to config map: [Policy] /Channel/Writers 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [orderer/main] func1 -> CRIT 8d7 Broadcast client triggered panic: runtime error: slice bounds out of range 
orderer.example.com  | goroutine 70 [running]: 
orderer.example.com  | runtime/debug.Stack(0xc420b530b0, 0xb75a60, 0xc42000c0a0) 
orderer.example.com  |  /opt/go/src/runtime/debug/stack.go:24 +0x79 
orderer.example.com  | main.(*server).Broadcast.func1() 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/orderer/server.go:77 +0x97 
orderer.example.com  | panic(0xb75a60, 0xc42000c0a0) 
orderer.example.com  |  /opt/go/src/runtime/panic.go:458 +0x243 
orderer.example.com  | github.com/hyperledger/fabric/common/configtx.(*configManager).policyForItem(0xc420903c00, 0xc4208ff9b0, 0x0, 0x0, 0xc5135b, 0x7, 0xc4203506e0, 0x0, 0x1, 0x414c0e, ...) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/common/configtx/update.go:148 +0x28c 
orderer.example.com  | github.com/hyperledger/fabric/common/configtx.(*configManager).verifyDeltaSet(0xc420903c00, 0xc4208fec60, 0xc420024960, 0x1, 0x1, 0x0, 0xc42094b0e0) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/common/configtx/update.go:76 +0x20f 
orderer.example.com  | github.com/hyperledger/fabric/common/configtx.(*configManager).authorizeUpdate(0xc420903c00, 0xc42098d500, 0x0, 0x0, 0xc1c2a0) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/common/configtx/update.go:134 +0x4fc 
orderer.example.com  | github.com/hyperledger/fabric/common/configtx.(*configManager).proposeConfigUpdate(0xc420903c00, 0xc42098d230, 0x0, 0x0, 0x126ed10) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/common/configtx/manager.go:181 +0x11c 
orderer.example.com  | github.com/hyperledger/fabric/common/configtx.(*configManager).ProposeConfigUpdate(0xc420903c00, 0xc42098d230, 0xc42034ef80, 0x0, 0x0) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/common/configtx/manager.go:172 +0x35 
orderer.example.com  | github.com/hyperledger/fabric/orderer/multichain.(*chainSupport).ProposeConfigUpdate(0xc420225e50, 0xc42098d230, 0x124b480, 0xc420835908, 0x5a8870) 
orderer.example.com  |  <autogenerated>:74 +0x59 
orderer.example.com  | github.com/hyperledger/fabric/orderer/configupdate.(*Processor).existingChannelConfig(0xc420016180, 0xc42098d230, 0xc420912790, 0x9, 0x7f4e64d25868, 0xc420225e50, 0xc420010aa0, 0x5, 0x2) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/orderer/configupdate/configupdate.go:121 +0x45 
orderer.example.com  | github.com/hyperledger/fabric/orderer/configupdate.(*Processor).Process(0xc420016180, 0xc42098d230, 0x0, 0x0, 0xc4209126d0) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/orderer/configupdate/configupdate.go:113 +0x1ac 
orderer.example.com  | main.(*broadcastSupport).Process(0xc420329f80, 0xc42098d230, 0x1b, 0x0, 0x0) 
orderer.example.com  |  <autogenerated>:8 +0x54 
orderer.example.com  | github.com/hyperledger/fabric/orderer/common/broadcast.(*handlerImpl).Handle(0xc42078d2e0, 0x1231fc0, 0xc420912550, 0x0, 0x0) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/orderer/common/broadcast/broadcast.go:108 +0xa5d 
orderer.example.com  | main.(*server).Broadcast(0xc420329fa0, 0x1231fc0, 0xc420912550, 0x0, 0x0) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/orderer/server.go:81 +0xb9 
orderer.example.com  | github.com/hyperledger/fabric/protos/orderer._AtomicBroadcast_Broadcast_Handler(0xb7afc0, 0xc420329fa0, 0x1231360, 0xc42022a990, 0x0, 0x0) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/protos/orderer/ab.pb.go:543 +0xbb 
orderer.example.com  | github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processStreamingRPC(0xc4201c7900, 0x1231c00, 0xc42031c160, 0xc42000ac00, 0xc420336690, 0x1215d40, 0xc42098d1d0, 0x0, 0x0) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:907 +0xb49 
orderer.example.com  | github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream(0xc4201c7900, 0x1231c00, 0xc42031c160, 0xc42000ac00, 0xc42098d1d0) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1001 +0xe8c 
orderer.example.com  | github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc42035a250, 0xc4201c7900, 0x1231c00, 0xc42031c160, 0xc42000ac00) 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:561 +0xab 
orderer.example.com  | created by github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1 
orderer.example.com  |  /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:562 +0xa3 
orderer.example.com  | 2017-09-06 10:16:04.966 UTC [orderer/main] func1 -> DEBU 8d8 Closing Broadcast stream 
orderer.example.com  | 2017-09-06 10:16:04.972 UTC [orderer/common/deliver] Handle -> WARN 8d9 Error reading from stream: rpc error: code = Canceled desc = context canceled 
orderer.example.com  | 2017-09-06 10:16:04.972 UTC [orderer/main] func1 -> DEBU 8da Closing Deliver stream 

est ci-dessous le contenu de config_update.json:

"channel_id": "mychannel", 
    "read_set": { 
    "groups": { 
     "Application": { 
     "version": "1" 
     }, 
     "Orderer": {} 
    }, 
    "policies": { 
     "Admins": {}, 
     "Readers": {}, 
     "Writers": {} 
    }, 
    "values": { 
     "BlockDataHashingStructure": {}, 
     "Consortium": {}, 
     "HashingAlgorithm": {}, 
     "OrdererAddresses": {} 
    } 
    }, 
    "write_set": { 
    "groups": { 
     "Application": { 
     "version": "1" 
     }, 
     "Consortiums": { 
     "groups": { 
      "SampleConsortium": { 
      "groups": { 
       "Org3MSP": { 
       "values": { 
        "MSP": { 
        "value": { 
         "config": { 
         "name": "Org3MSP" 
         } 
        } 
        } 
       } 
       } 
      } 
      } 
     } 
     }, 
     "Orderer": {} 
    }, 
    "policies": { 
     "Admins": {}, 
     "Readers": {}, 
     "Writers": {} 
    }, 
    "values": { 
     "BlockDataHashingStructure": {}, 
     "Consortium": {}, 
     "HashingAlgorithm": {}, 
     "OrdererAddresses": {} 
    }, 
    "version": "1" 
    } 

apprécier pour tous les conseils.

Répondre

2

Depuis votre mise à jour de configuration, vous tentez de définir les groupes de SampleConsortiums comme étant exactement Org3MSP. Compte tenu du fait que channel_id est mychannel, je suppose que vous essayez de modifier l'appartenance d'un canal d'application, et non du canal du système de commande.

Les canaux d'application standard ne possèdent pas de groupe de niveau supérieur Consortiums, mais ils ont un groupe de niveau supérieur Application. Cette mise à jour de configuration n'atteindra donc pas ce que vous espérez. Considérez le contenu de config_update.json de https://github.com/hyperledger/fabric/tree/release/examples/configtxupdate/reconfig_membership

{ 
    "channel_id": "example", 
    "read_set": { 
    "groups": { 
     "Application": { 
     "groups": { 
      "SampleOrg": { 
      "mod_policy": "", 
      "version": "0" 
      } 
     }, 
     "mod_policy": "", 
     "policies": { 
      "Admins": { 
      "mod_policy": "", 
      "version": "0" 
      }, 
      "Readers": { 
      "mod_policy": "", 
      "version": "0" 
      }, 
      "Writers": { 
      "mod_policy": "", 
      "version": "0" 
      } 
     }, 
     "version": "1" 
     } 
    }, 
    "mod_policy": "", 
    "version": "0" 
    }, 
    "type": 0, 
    "write_set": { 
    "groups": { 
     "Application": { 
     "groups": { 
      "ExampleOrg": { 
      "mod_policy": "Admins", 
      "policies": { 
       "Admins": { 
       "mod_policy": "Admins", 
       "policy": { 
        "type": 1, 
        "value": { 
        "identities": [ 
         { 
         "principal": { 
          "msp_identifier": "DEFAULT", 
          "role": "MEMBER" 
         }, 
         "principal_classification": "ROLE" 
         } 
        ], 
        "rule": { 
         "n_out_of": { 
         "n": 1, 
         "rules": [ 
          { 
          "signed_by": 0 
          } 
         ] 
         } 
        }, 
        "version": 0 
        } 
       }, 
       "version": "0" 
       }, 
       "Readers": { 
       "mod_policy": "Admins", 
       "policy": { 
        "type": 1, 
        "value": { 
        "identities": [ 
         { 
         "principal": { 
          "msp_identifier": "DEFAULT", 
          "role": "MEMBER" 
         }, 
         "principal_classification": "ROLE" 
         } 
        ], 
        "rule": { 
         "n_out_of": { 
         "n": 1, 
         "rules": [ 
          { 
          "signed_by": 0 
          } 
         ] 
         } 
        }, 
        "version": 0 
        } 
       }, 
       "version": "0" 
       }, 
       "Writers": { 
       "mod_policy": "Admins", 
       "policy": { 
        "type": 1, 
        "value": { 
        "identities": [ 
         { 
         "principal": { 
          "msp_identifier": "DEFAULT", 
          "role": "MEMBER" 
         }, 
         "principal_classification": "ROLE" 
         } 
        ], 
        "rule": { 
         "n_out_of": { 
         "n": 1, 
         "rules": [ 
          { 
          "signed_by": 0 
          } 
         ] 
         } 
        }, 
        "version": 0 
        } 
       }, 
       "version": "0" 
       } 
      }, 
      "values": { 
       "MSP": { 
       "mod_policy": "Admins", 
       "value": { 
        "config": { 
        "admins": [ 
         "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNqRENDQWpLZ0F3SUJBZ0lVQkVWd3NTeDBUbXFkYnpOd2xlTkJCem9JVDB3d0NnWUlLb1pJemowRUF3SXcKZnpFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaApiaUJHY21GdVkybHpZMjh4SHpBZEJnTlZCQW9URmtsdWRHVnlibVYwSUZkcFpHZGxkSE1zSUVsdVl5NHhEREFLCkJnTlZCQXNUQTFkWFZ6RVVNQklHQTFVRUF4TUxaWGhoYlhCc1pTNWpiMjB3SGhjTk1UWXhNVEV4TVRjd056QXcKV2hjTk1UY3hNVEV4TVRjd056QXdXakJqTVFzd0NRWURWUVFHRXdKVlV6RVhNQlVHQTFVRUNCTU9UbTl5ZEdnZwpRMkZ5YjJ4cGJtRXhFREFPQmdOVkJBY1RCMUpoYkdWcFoyZ3hHekFaQmdOVkJBb1RFa2g1Y0dWeWJHVmtaMlZ5CklFWmhZbkpwWXpFTU1Bb0dBMVVFQ3hNRFEwOVFNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUKSEJ1S3NBTzQzaHM0SkdwRmZpR01rQi94c0lMVHNPdm1OMldtd3BzUEhaTkw2dzhIV2UzeENQUXRkRy9YSkp2WgorQzc1NktFc1VCTTN5dzVQVGZrdThxT0JwekNCcERBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3CkZBWUlLd1lCQlFVSEF3RUdDQ3NHQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZPRkMKZGNVWjRlczNsdGlDZ0FWRG95TGZWcFBJTUI4R0ExVWRJd1FZTUJhQUZCZG5RajJxbm9JL3hNVWRuMXZEbWRHMQpuRWdRTUNVR0ExVWRFUVFlTUJ5Q0NtMTVhRzl6ZEM1amIyMkNEbmQzZHk1dGVXaHZjM1F1WTI5dE1Bb0dDQ3FHClNNNDlCQU1DQTBnQU1FVUNJRGY5SGJsNHhuM3o0RXdOS21pbE05bFgyRnE0aldwQWFSVkI5N09tVkVleUFpRUEKMjVhRFBRSEdHcTJBdmhLVDB3dnQwOGNYMUdUR0NJYmZtdUxwTXdLUWozOD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" 
        ], 
        "crypto_config": { 
         "identity_identifier_hash_function": "SHA256", 
         "signature_hash_family": "SHA2" 
        }, 
        "name": "ExampleOrg", 
        "organizational_unit_identifiers": [ 
         { 
         "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNZakNDQWdtZ0F3SUJBZ0lVQjNDVERPVTQ3c1VDNUs0a24vQ2FxbmgxMTRZd0NnWUlLb1pJemowRUF3SXcKZnpFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaApiaUJHY21GdVkybHpZMjh4SHpBZEJnTlZCQW9URmtsdWRHVnlibVYwSUZkcFpHZGxkSE1zSUVsdVl5NHhEREFLCkJnTlZCQXNUQTFkWFZ6RVVNQklHQTFVRUF4TUxaWGhoYlhCc1pTNWpiMjB3SGhjTk1UWXhNREV5TVRrek1UQXcKV2hjTk1qRXhNREV4TVRrek1UQXdXakIvTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNCTUtRMkZzYVdadgpjbTVwWVRFV01CUUdBMVVFQnhNTlUyRnVJRVp5WVc1amFYTmpiekVmTUIwR0ExVUVDaE1XU1c1MFpYSnVaWFFnClYybGtaMlYwY3l3Z1NXNWpMakVNTUFvR0ExVUVDeE1EVjFkWE1SUXdFZ1lEVlFRREV3dGxlR0Z0Y0d4bExtTnYKYlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQktJSDViMkphU21xaVFYSHlxQytjbWtuSUNjRgppNUFkZFZqc1FpekRWNnVaNHY2cytQV2lKeXpmQS9yVHRNdllBUHEveWVFSHBCVUIxajA1M214bnBNdWpZekJoCk1BNEdBMVVkRHdFQi93UUVBd0lCQmpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRWFowSTkKcXA2Q1A4VEZIWjlidzVuUnRaeElFREFmQmdOVkhTTUVHREFXZ0JRWFowSTlxcDZDUDhURkhaOWJ3NW5SdFp4SQpFREFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUFIcDVSYnA5RW0xRy9VbUtuOFdzQ2JxRGZXZWNWYlpQUWozUks0Cm9HNWtRUUlnUUFlNE9PS1loSmRoM2Y3VVJhS2ZHVGY0OTIvbm1SbXRLK3lTS2pwSFNyVT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", 
         "organizational_unit_identifier": "COP" 
         } 
        ], 
        "root_certs": [ 
         "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNZakNDQWdtZ0F3SUJBZ0lVQjNDVERPVTQ3c1VDNUs0a24vQ2FxbmgxMTRZd0NnWUlLb1pJemowRUF3SXcKZnpFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaApiaUJHY21GdVkybHpZMjh4SHpBZEJnTlZCQW9URmtsdWRHVnlibVYwSUZkcFpHZGxkSE1zSUVsdVl5NHhEREFLCkJnTlZCQXNUQTFkWFZ6RVVNQklHQTFVRUF4TUxaWGhoYlhCc1pTNWpiMjB3SGhjTk1UWXhNREV5TVRrek1UQXcKV2hjTk1qRXhNREV4TVRrek1UQXdXakIvTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNCTUtRMkZzYVdadgpjbTVwWVRFV01CUUdBMVVFQnhNTlUyRnVJRVp5WVc1amFYTmpiekVmTUIwR0ExVUVDaE1XU1c1MFpYSnVaWFFnClYybGtaMlYwY3l3Z1NXNWpMakVNTUFvR0ExVUVDeE1EVjFkWE1SUXdFZ1lEVlFRREV3dGxlR0Z0Y0d4bExtTnYKYlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQktJSDViMkphU21xaVFYSHlxQytjbWtuSUNjRgppNUFkZFZqc1FpekRWNnVaNHY2cytQV2lKeXpmQS9yVHRNdllBUHEveWVFSHBCVUIxajA1M214bnBNdWpZekJoCk1BNEdBMVVkRHdFQi93UUVBd0lCQmpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRWFowSTkKcXA2Q1A4VEZIWjlidzVuUnRaeElFREFmQmdOVkhTTUVHREFXZ0JRWFowSTlxcDZDUDhURkhaOWJ3NW5SdFp4SQpFREFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUFIcDVSYnA5RW0xRy9VbUtuOFdzQ2JxRGZXZWNWYlpQUWozUks0Cm9HNWtRUUlnUUFlNE9PS1loSmRoM2Y3VVJhS2ZHVGY0OTIvbm1SbXRLK3lTS2pwSFNyVT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" 
        ], 
        "tls_root_certs": [ 
         "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNZakNDQWdtZ0F3SUJBZ0lVQjNDVERPVTQ3c1VDNUs0a24vQ2FxbmgxMTRZd0NnWUlLb1pJemowRUF3SXcKZnpFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaApiaUJHY21GdVkybHpZMjh4SHpBZEJnTlZCQW9URmtsdWRHVnlibVYwSUZkcFpHZGxkSE1zSUVsdVl5NHhEREFLCkJnTlZCQXNUQTFkWFZ6RVVNQklHQTFVRUF4TUxaWGhoYlhCc1pTNWpiMjB3SGhjTk1UWXhNREV5TVRrek1UQXcKV2hjTk1qRXhNREV4TVRrek1UQXdXakIvTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNCTUtRMkZzYVdadgpjbTVwWVRFV01CUUdBMVVFQnhNTlUyRnVJRVp5WVc1amFYTmpiekVmTUIwR0ExVUVDaE1XU1c1MFpYSnVaWFFnClYybGtaMlYwY3l3Z1NXNWpMakVNTUFvR0ExVUVDeE1EVjFkWE1SUXdFZ1lEVlFRREV3dGxlR0Z0Y0d4bExtTnYKYlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQktJSDViMkphU21xaVFYSHlxQytjbWtuSUNjRgppNUFkZFZqc1FpekRWNnVaNHY2cytQV2lKeXpmQS9yVHRNdllBUHEveWVFSHBCVUIxajA1M214bnBNdWpZekJoCk1BNEdBMVVkRHdFQi93UUVBd0lCQmpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRWFowSTkKcXA2Q1A4VEZIWjlidzVuUnRaeElFREFmQmdOVkhTTUVHREFXZ0JRWFowSTlxcDZDUDhURkhaOWJ3NW5SdFp4SQpFREFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUFIcDVSYnA5RW0xRy9VbUtuOFdzQ2JxRGZXZWNWYlpQUWozUks0Cm9HNWtRUUlnUUFlNE9PS1loSmRoM2Y3VVJhS2ZHVGY0OTIvbm1SbXRLK3lTS2pwSFNyVT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" 
        ] 
        }, 
        "type": 0 
       }, 
       "version": "0" 
       } 
      }, 
      "version": "0" 
      }, 
      "SampleOrg": { 
      "mod_policy": "", 
      "version": "0" 
      } 
     }, 
     "mod_policy": "Admins", 
     "policies": { 
      "Admins": { 
      "mod_policy": "", 
      "version": "0" 
      }, 
      "Readers": { 
      "mod_policy": "", 
      "version": "0" 
      }, 
      "Writers": { 
      "mod_policy": "", 
      "version": "0" 
      } 
     }, 
     "version": "2" 
     } 
    }, 
    "mod_policy": "", 
    "version": "0" 
    } 
} 

Notez que les orgs existants sont peu représentés dans le cadre de la read_set ainsi que la write_set.

Je vous recommande vivement d'exécuter l'exemple reconfig_membership et d'inspecter les artefacts qu'il génère dans le répertoire example_output et de l'utiliser comme guide pour bien construire la mise à jour de la configuration.

Le fait que cette mise à jour de configuration déclenche une panique (gérée) est intéressant. Je vais essayer de reproduire et de pousser un correctif pour ce comportement.