[슈퍼 장부] 퍼스트-network - byf.sh 원본 분석

3179 단어 블록체인
일반 명령
byfn.sh generate -c mychannel"
  • generateCerts

  • 이 방법은 관련 인증서를 생성하는 데 사용되며 (cryptogengo 도구를 사용) 각 노드의 루트 인증서, 조직 인증서, 거래 인증서, 전송 인증서 등을 포함한다.코드는 다음과 같습니다.
     cryptogen generate --config=./crypto-config.yaml
    
  • replacePrivateKey

  • 이 방법은generateCerts 단계에서 생성된 개인 키 파일을 docker 렌즈에 연결하는 데 사용됩니다.코드는 다음과 같습니다.
    #       docker    
    cp docker-compose-e2e-template.yaml docker-compose-e2e.yaml
    #   peer    CA  ,
    #   :0ea90b936cfa035569f2999ac3c8853510a1a7da15bb98baea9b1ac03af57fa7_sk
    cd crypto-config/peerOrganizations/org1.example.com/ca/
    PRIV_KEY=$(ls *_sk)
    #           docker   
    #   $OPTS -i  -it, sed         
    sed $OPTS "s/CA1_PRIVATE_KEY/${PRIV_KEY}/g" docker-compose-e2e.yaml
    sed $OPTS "s/CA2_PRIVATE_KEY/${PRIV_KEY}/g" docker-compose-e2e.yaml
    
            docker-compose-e2e-template.yam          ,  。“- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/CA1_PRIVATE_KEY” “CA1_PRIVATE_KEY”        “- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/0ea90b936cfa035569f2999ac3c8853510a1a7da15bb98baea9b1ac03af57fa7_sk”
    
  • generateChannelArtifacts

  • 3.1 창세 블록 구축
    configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
    

    여기서 TwoOrgsOrdererGenesis는 configtx에 정의되어 있습니다.yaml, 창세 블록을 생성하는 설정 항목의 모형을 표시합니다.
    3.2 채널 구축 프로필 참고 노트'08. 채널의 생명주기'
      configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME
    

    이 명령은 channel 파일을 생성합니다.tx, 그 중에서 TwoOrgsChannel도 configtx에 정의되어 있습니다.yaml에서 이 통로는 두 개의 조직을 포함하고 있음을 나타낸다.
    3.3 각 조직의 앵커 노드 구성 구축
    닻 노드는 통로 안에서 모든 노드에 의해 볼 수 있으며, 조직을 뛰어넘는gossip 통신을 하는 데 사용된다.조직 1의 Org1 MSPanchors와 같은 앵커 노드 구성 파일도 생성됩니다.tx
      configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate \
      ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP
      res=$?
    

    up 명령
    “byfn.sh up”
  • network Up이 선행 조건이 충족되었는지 확인하고 모두 OK한 경우
  • docker-compose의 프로필에 따라 docker 용기를 생성
  • if [ "${IF_COUCHDB}" == "couchdb" ]; then
        IMAGE_TAG=$IMAGETAG docker-compose -f $COMPOSE_FILE -f $COMPOSE_FILE_COUCH up -d 2>&1
      else
        IMAGE_TAG=$IMAGETAG docker-compose -f $COMPOSE_FILE up -d 2>&1
      fi
    

    참고: docker-compose - f XX.yaml up 명령
  • 시작 스크립트를 실행하는 것은first-network에서 진정으로 조직을 만들고 체인 코드를 불러오는 것입니다.
  • docker exec cli scripts/script.sh $CHANNEL_NAME $CLI_DELAY $LANGUAGE $CLI_TIMEOUT
    

    09.first-network – script.sh 참조
    donw 명령
    “byfn.sh down”
  • networkDown
  • #         
    docker run -v $PWD:/tmp/first-network --rm hyperledger/fabric-tools:$IMAGETAG rm -Rf /tmp/first-network/ledgers-backup
    #  docker  
    clearContainers
    #  docker  
    removeUnwantedImages
    #      、      、         
    rm -rf channel-artifacts/*.block channel-artifacts/*.tx crypto-config ./org3-artifacts/crypto-config/ channel-artifacts/org3.json
    #      docker    
    rm -f docker-compose-e2e.yaml
    

    좋은 웹페이지 즐겨찾기