"정확히 무슨 일이 일어 났나?"하이퍼 리더 체인 코드 "register"vs "deploy"
"등록"체인 코드의 경우 체인 노드 작성자가 다른 노드가 네트워크에서 체인 코드를 찾고 해당 로컬에 소스를 다운로드하고 도커 이미지를 빌드하기 전에 체인 코드를 ValidationPeer에 등록해야합니다. 이후에 동일한 체인 코드가 여러 번 배포되면 어떻게됩니까? 이전 상태를 덮어 쓰시겠습니까?
참조 : "배포"체인 코드가 네트워크의 모든 노드에 거래의 형태로 원장에게 제출하고 배포되는 동안 What happened exactly on chaincode deploy and invoke , query, in Hyperledger?
. 각 노드는이 체인 코드가 포함 된 새 Docker 컨테이너를 만듭니다. 컨테이너가 시작되고 Init 메소드가 실행됩니다.
"쿼리"중 - 체인 코드는 현재 상태를 읽고 사용자에게 다시 보냅니다. 이 트랜잭션은 블록 체인에 저장되지 않습니다.
"호출"중 - 체인 코드는 원장의 변수 상태를 수정할 수 있습니다. 각 "Invoke"트랜잭션은 원장의 "블록"에 추가됩니다.
덕분에 당신은, 세르게이, 레지스터 , 나는 실제로하여 hyperledger의 문서에서 다음을 말하는 겁니다 엔/최신/설정/chaincode - 설치/ 시작 및 시작하고 검증 피어와 chaincode 등록 할 chaincode 실행 다음 chaincode 명령 등록 : CORE_CHAINCODE_ID_NAME = mycc CORE_PEER_ADDRESS = 0.0.0.0 : 7051 ./chaincode_example02 을 체인 코드 콘솔은 "수신 된 REGISTERED, 호출 준비 완료"라는 메시지를 표시합니다. 이는 체인 코드가 요청을 수신 할 준비가되었음을 나타냅니다. –
이 예제는 Fabric을 개발 모드에서 실행하는 방법을 설명합니다 (-peer-chaincodedev). 이 모드에서는 임의의 이름을 사용하여 체인 코드를 실행할 수 있습니다. 체인 코드는 로컬 환경에서 프로세스로 실행됩니다 (도커 컨테이너 없음). 개발자는 빠른 속도로 작동하고 체인 코드에서 디버그 메시지에 액세스 할 수 있기 때문에 디버깅 용도로이 모드를 사용할 수 있습니다. –