hyperledger fabric 설정 개발자 모드

3210 단어 hyperledgerfabricgo
체인 코드를 수정한 후에는 항상 새로 배치해야 하기 때문에 개발 과정에서 매우 번거롭다.개발자 모드를 설정하면 수정 코드를 비교적 쉽게 디버깅할 수 있다.fabric-sample의basic-network를 사례로 삼다.
운영 체제: centos 7.6
  • 수정docker-compose.yml
  • #  peer  ,           
    #command: peer node start
    command: peer node start --peer-chaincodedev=true
    #  peer       ,  7052  
    port:
    	- 7052:7052
    

    이 포트는 로컬에서 chaincode를 시작하여peer 노드를 연결할 때 사용하는 포트입니다.config/core를 통해 사용할 수 있습니다.yaml에서 기본 포트를 수정합니다.
  • 킥오프 스크립트
  • ./start.sh
    

    스크립트는 docker 용기를 시작하고 채널을 만들고peer 노드를 채널에 추가합니다.
  • 환경 변수 설정, 체인 코드 컴파일
  • cd fabric-samples/chaincode/chaincode_example02/go
    # .env         ,          
    # CORE_PEER_ADDRESS=peer:7052
    echo 'export CORE_PEER_ADDRESS=127.0.0.1:7052'  >> .env
    # CORE_CHAINCODE_ID_NAME=chaincodeName:chaincodeVersion
    echo 'export CORE_CHAINCODE_ID_NAME=mycc:1.0'  >> .env
    . .env
    go run .
    

    결과 내보내기
    2019-02-07 20:55:49.076 CST [shim] setupChaincodeLogging -> INFO 001 Chaincode log level not provided; defaulting to: INFO
    2019-02-07 20:55:49.076 CST [shim] setupChaincodeLogging -> INFO 002 Chaincode (build level: ) starting up ...
    
    

    연결됐습니다.
  • 부팅 용기 cli, 부팅 용기
  • docker-compose -f docker-compose.yml up -d cli
    docker exec -it cli /bin/bash
    
  • 체인 코드 설치, 체인 코드 초기화, 체인 코드 호출
  • peer chaincode install -n mycc -v 1.0 -p github.com/chaincode_example02/go
    peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n mycc -v 1.0 -c '{"Args":["init", "a", "100", "b", "200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')"
    peer chaincode invoke -o orderer.example.com:7050 -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}'
    

    go run에 있습니다.의 창, fmt가 발견되었습니다.Print 정보입니다.
    ex02 Init
    Aval = 100, Bval = 200
    ex02 Invoke
    Aval = 90, Bval = 210
    

    Ctrl-c, 체인 코드를 수정하고 go run.
    수정된 코드도 도망갈 수 있다는 걸 알게 됐어요.심지어 고의 dlv도 사용할 수 있다.

    좋은 웹페이지 즐겨찾기