2017-09-06 13 views
0

configtxlatorを使用して新しい組織Org3を追加しようとしましたが失敗します。以下は、サーバーのコンソールログからのエラーされます。以下はHyperledger Fabric v1.0 configtxlator新しい組織エラーを追加する

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 

は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" 
    } 

はどんなアドバイスを感謝しています。

答えて

2

設定の更新で、SampleConsortiumsのグループを正確にOrg3MSPに設定しようとしています。

channel_idmychannelであることに基づいて、オーダーシステムチャネルではなく、アプリケーションチャネルのメンバーシップを変更しようとしていると仮定します。

標準のアプリケーションチャンネルにはトップレベルのConsortiumsグループがありません。代わりに、Applicationトップレベルグループを持っていますので、この設定のアップデートでは望めない内容になります。既存のORGSが疎read_setの一部ならびにwrite_setとして表現されていることを注意

{ 
    "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" 
    } 
} 

https://github.com/hyperledger/fabric/tree/release/examples/configtxupdate/reconfig_membershipから config_update.jsonの内容を考えます。

reconfig_membershipの例を実行し、生成する成果物をexample_outputディレクトリで調べて、これを設定更新を適切に構築するためのガイドとして使用することを強くお勧めします。

この設定の更新が(処理された)パニックを引き起こすという事実は面白いです。私は再現し、この動作のための修正プログラムをプッシュしようとします。

関連する問題