更改姓名后orderer&的领域peer用户没有注册hyperledger结构

时间:2017-12-15 07:34:54

标签: hyperledger-fabric

我是hyperledger&的新手尝试修改结构样本中的现有余额转移示例。我正在做的改变就是更改名称& orderer&的领域 cryptogen.yaml 文件中的同伴。还在configtx.yaml&中进行了相应的更改。 docker-compose.yaml文件。以下是cryptogen.yaml文件中的更改:

OrdererOrgs:
  - Name: Orderer
    Domain: say.com

    Specs:
      - Hostname: orderer

PeerOrgs:
  - Name: Customer1
    Domain: customer1.say.com
    CA:
       Hostname: ca

    Template:
      Count: 2
      SANS:
        - "localhost"

    Users:
      Count: 1

  - Name: Customer2
    Domain: customer2.say.com
    CA:
       Hostname: ca

    Template:
      Count: 2
      SANS:
        - "localhost"
    Users:
      Count: 1

这是configtx.yaml文件:

Profiles:
    TwoOrgsOrdererGenesis:
        Orderer:
            <<: *OrdererDefaults
            Organizations:
                - *OrdererOrg
        Consortiums:
            SampleConsortium:
                Organizations:
                    - *Customer1
                    - *Customer2
    TwoOrgsChannel:
        Consortium: SampleConsortium
        Application:
            <<: *ApplicationDefaults
            Organizations:
                - *Customer1
                - *Customer2

Organizations:
    - &OrdererOrg
        Name: OrdererMSP
        ID: OrdererMSP
        MSPDir: crypto-config/ordererOrganizations/say.com/msp

    - &Customer1
        Name: Customer1MSP
        ID: Customer1MSP
        MSPDir: crypto-config/peerOrganizations/customer1.say.com/msp
        AnchorPeers:
            - Host: peer0.customer1.say.com
              Port: 7051

    - &Customer2
        Name: Customer2MSP
        ID: Customer2MSP
        MSPDir: crypto-config/peerOrganizations/customer2.say.com/msp
        AnchorPeers:
            - Host: peer0.customer2.say.com
              Port: 7051

Orderer: &OrdererDefaults
    OrdererType: solo
    Addresses:
        - orderer.say.com:7050
    BatchTimeout: 2s
    BatchSize:
        MaxMessageCount: 10
        AbsoluteMaxBytes: 98 MB
        PreferredMaxBytes: 512 KB
    Kafka:
        Brokers:
            - 127.0.0.1:9092
    Organizations:

Application: &ApplicationDefaults
    Organizations:

我能够使用cryptogen工具生成加密材料&amp;容器正在起床。使用 docker ps ,我可以看到所有容器。在注册用户时出现以下错误:

  

[DEBUG] Helper - [FileKeyValueStore.js]:FileKeyValueStore.js -   构造函数[ERROR] Helper - 无法获得注册用户:Jim,   错误:TypeError:无法读取属性&#39; setStateStore&#39;未定义的       at hfc.newDefaultKeyValueStore.then(/home/ubuntu/fabric-samples/balance-transfer/app/helper.js:208:9)

请告诉我这是什么原因。

2 个答案:

答案 0 :(得分:1)

根据 app / helper.js 文件(第38行), 这是if (key.indexOf('org') === 0) { 组织名称必须以&#39; org &#39;开头。关键字。

例如,组织名称可以是 orgDemo ,但 不能 演示

答案 1 :(得分:0)

我不知道余额转移,但大多数示例都在docker configs中为docker容器安装本地目录,以指向本地文件系统上的加密。您需要修改它们以指向新的加密路径或将新的加密复制到现有的dirs中。

此外,必须使用相同的组织和加密创建创世块和通道创建。我不知道平衡转移是否会重建创世块和通道以匹配与否。在docker定义中指定的对等和域名通常也需要与configtx.yaml中的那些匹配。

用户必须先注册CA,然后才能注册。即使以上所有内容都是正确的,如果脚本不适合您,您仍可能需要手动注册Jim。

Jim未注册,或者您没有指向正确的CA容器名称或加密路径,或者创世块仍在使用原始组织名称和加密路径等。您可以使用 configtxgen -inspectBlock genesisblockfilename和 configtxgen -inspectChannelCreateTx channelfilename以查看包含的Orgs。