Получен ответ об ошибке от партнера: сообщение = 2 НЕИЗВЕСТНО: доступ запрещен - PullRequest
0 голосов
/ 05 октября 2019

Я смог загрузить сеть Fabric:

  • Индивидуальный заказчик
  • три организации (CA и одноранговый узел на организацию)
  • два канала: public-channel (все 3 orgs) и private-channel (org1 и org2)

Из CLI все - установка кода, создание экземпляра, вызов и запрос - работает отлично. Но когда я пытаюсь использовать клиент nodejs (Fabcar api), я получаю следующее сообщение об ошибке отказа в доступе:

$ ts-node invoke.ts 
Wallet path: /Users/moazzemhossen/ws/hlf/scratch/api/src/wallet
2019-10-05T11:43:04.448Z - warn: [Transaction]: _validatePeerResponses: Received error response from peer: message=2 UNKNOWN: access denied: channel [public-channel] creator org [Org1MSP], stack=Error: 2 UNKNOWN: access denied: channel [public-channel] creator org [Org1MSP]
    at Object.exports.createStatusError (/Users/moazzemhossen/ws/hlf/scratch/api/node_modules/grpc/src/common.js:91:15)
    at Object.onReceiveStatus (/Users/moazzemhossen/ws/hlf/scratch/api/node_modules/grpc/src/client_interceptors.js:1204:28)
    at InterceptingListener._callNext (/Users/moazzemhossen/ws/hlf/scratch/api/node_modules/grpc/src/client_interceptors.js:568:42)
    at InterceptingListener.onReceiveStatus (/Users/moazzemhossen/ws/hlf/scratch/api/node_modules/grpc/src/client_interceptors.js:618:8)
    at callback (/Users/moazzemhossen/ws/hlf/scratch/api/node_modules/grpc/src/client_interceptors.js:845:24), code=2, , details=access denied: channel [public-channel] creator org [Org1MSP]
Failed to submit transaction: TypeError: Cannot read property 'name' of undefined

Вот мой configtx.yaml

Organizations:
  - &OrdererOrg
    Name: OrdererOrg
    ID: OrdererMSP
    MSPDir: crypto-config/ordererOrganizations/ord/msp
    Policies:
      Readers:
        Type: Signature
        Rule: "OR('OrdererMSP.member')"
      Writers:
        Type: Signature
        Rule: "OR('OrdererMSP.member')"
      Admins:
        Type: Signature
        Rule: "OR('OrdererMSP.admin')"

  - &Org1
    Name: Org1MSP
    ID: Org1MSP
    MSPDir: crypto-config/peerOrganizations/org1/msp
    Policies:
      Readers:
        Type: Signature
        Rule: "OR('Org1MSP.member')"
      Writers:
        Type: Signature
        Rule: "OR('Org1MSP.member')"
      Admins:
        Type: Signature
        Rule: "OR('Org1MSP.member')"
    AnchorPeers:
      - Host: peer0.org1
        Port: 7051

  - &Org2
    Name: Org2MSP
    ID: Org2MSP
    MSPDir: crypto-config/peerOrganizations/org2/msp
    Policies:
      Readers:
        Type: Signature
        Rule: "OR('Org2MSP.member')"
      Writers:
        Type: Signature
        Rule: "OR('Org2MSP.member')"
      Admins:
        Type: Signature
        Rule: "OR('Org2MSP.member')"

    AnchorPeers:
      - Host: peer0.org2
        Port: 7051

  - &Org3
    Name: Org3MSP
    ID: Org3MSP
    MSPDir: crypto-config/peerOrganizations/org3/msp
    Policies:
      Readers:
        Type: Signature
        Rule: "OR('Org3MSP.member')"
      Writers:
        Type: Signature
        Rule: "OR('Org3MSP.member')"
      Admins:
        Type: Signature
        Rule: "OR('Org3MSP.member')"

    AnchorPeers:
      - Host: peer0.org3
        Port: 7051
Capabilities:
  Channel: &ChannelCapabilities
    V1_4_3: true
    V1_3: false
    V1_1: false
  Orderer: &OrdererCapabilities
    V1_4_2: true
    V1_1: false
  Application: &ApplicationCapabilities
    V1_4_2: true
    V1_3: false
    V1_2: false
    V1_1: false
Application: &ApplicationDefaults
  Organizations:
  Policies:
    Readers:
      Type: ImplicitMeta
      Rule: "ANY Readers"
    Writers:
      Type: ImplicitMeta
      Rule: "ANY Writers"
    Admins:
      Type: ImplicitMeta
      Rule: "MAJORITY Admins"

  Capabilities:
    <<: *ApplicationCapabilities
Orderer: &OrdererDefaults
  OrdererType: solo
  Addresses:
    - ord1.ord:7050
  BatchTimeout: 2s
  BatchSize:
    MaxMessageCount: 10
    AbsoluteMaxBytes: 99 MB
    PreferredMaxBytes: 512 KB
  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: &ChannelDefaults
  Policies:
    Readers:
      Type: ImplicitMeta
      Rule: "ANY Readers"
    Writers:
      Type: ImplicitMeta
      Rule: "ANY Writers"
    Admins:
      Type: ImplicitMeta
      Rule: "MAJORITY Admins"
  Capabilities:
    <<: *ChannelCapabilities

Profiles:
  OrdererGenesis:
    <<: *ChannelDefaults
    Orderer:
      <<: *OrdererDefaults
      Organizations:
        - *OrdererOrg
      Capabilities:
        <<: *OrdererCapabilities
    Consortiums:
      SampleConsortium:
        Organizations:
          - *Org1
          - *Org2
          - *Org3
  PublicChannel:
    Consortium: SampleConsortium
    <<: *ChannelDefaults
    Application:
      <<: *ApplicationDefaults
      Organizations:
        - *Org1
        - *Org2
        - *Org3
      Capabilities:
        <<: *ApplicationCapabilities
  PrivateChannel:
    Consortium: SampleConsortium
    <<: *ChannelDefaults
    Application:
      <<: *ApplicationDefaults
      Organizations:
        - *Org1
        - *Org2
      Capabilities:
        <<: *ApplicationCapabilities

И профиль подключения для FabcarAPI приложения:

{
    "name": "fabcar-network",
    "version": "1.0.0",
    "client": {
        "tlsEnable": false,
        "adminUser": "admin",
        "adminPassword": "adminpw",
        "enableAuthentication": false,
        "organization": "Org1",
        "connection": {
            "timeout": {
                "peer": {
                    "endorser": "6000"
                },
                "orderer": "6000"
            }
        }
    },
    "channels": {
        "public-channel": {
            "orderers": [
                "ord1.ord"
            ],
            "peers": {
                "peer0.org1": {}
            }
        }
    },
    "organizations": {
        "Org1": {
            "mspid": "Org1MSP",
            "peers": [
                "peer0.org1"
            ],
            "certificateAuthorities": [
                "ca.org1"
            ],
            "adminPrivateKey": {
                "path": "/var/hyperledger/crypto-config/peerOrganizations/org1/users/Admin@org1/msp/keystore/a73bb47d0112bba5d94ffa1463ea60514f407ebc2e0f953aa89633934da63d39_sk"
            },
            "signedCert": {
                "path": "/var/hyperledger/crypto-config/peerOrganizations/org1/users/Admin@org1/msp/signcerts/Admin@org1-cert.pem"
            }
        }
    },
    "orderers": {
        "ord1.ord": {
            "url": "grpc://0.0.0.0:7050"
        }
    },
    "peers": {
        "peer0.org1": {
            "url": "grpc://0.0.0.0:7051",
            "events": "grpc:0.0.0.0:7053",
            "grpcOptions": {
                "ssl-target-name-override": "peer0.org1"
            }
        }
    },
    "certificateAuthorities": {
        "ca.org1": {
            "url": "http://0.0.0.0:7054",
            "httpOptions": {
                "verify": false
            },
            "tlsCACerts": {
                "path": "/var/hyperledger/crypto-config/peerOrganizations/org1/tlsca/tlsca.org1-cert.pem"
            },
            "caName": "ca.org1",
            "registrar": [
                {
                    "enrollId": "admin",
                    "enrollSecret": "adminpw"
                }
            ]
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...