체인코드
- 비즈니스 객체의 상태를 정의
- 서로 다른 상태를 프로세스화하여 관리
- World State와 Blockchain 두 가지 값을 가지고 있음
- World State: 현재값
- Blockchain: World State의 이력을 저장함
하이퍼래저 스마트 컨트랙트 실행 구조
- 하이퍼래저의 스마트컨트랙트는 각 peer에 배포되어 있음
- 어플리케이션이 스마트컨트랙트를 실행하는 query를 peer에 보내고 peer는 해당 스마트 컨트랙트를 수행하여 응답함
- 스마트컨트랙트는 어플리케이션의 기능을 수행할 수 있는 함수로 구성함
- 해당 스마트 컨트랙트는 peer에 배포되어 동작함
- 블록체인의 ledger의 상태 조회 및 생성 등의 기능을 수행하기 위해서 Chaincode API를 사용함
하이퍼래저 스마트 컨트랙트 개발 순서
1. 체인코드 개발: Chaincode API를 이용하여 체인코드를 개발한다.
2. 네트워크 실행: 체인코드가 동작할 블록체인 네트워크를 구동한다.
3. 체인코드 배포: 구동한 네트워크에 개발된 체인코드를 배포한다.
4. 체인코드 테스트: 배포된 체인코드 테스트를 통하여 수정/보완한다.
* Chaincode API는 GO, Node.js, JAVA 언어기반으로 제공됨
* 블록체인 네트워크에 접근하기 위한 Chaincode API는 "Shim" 패키지로 제공됨
* Shim API인 ChaincodeStubInterface를 활용하여 스마트 컨트랙트를 작성할 수 있음
'IT > 블록체인' 카테고리의 다른 글
[블록체인] 실습 순서 (0) | 2022.05.02 |
---|---|
[블록체인] Docker (0) | 2022.04.28 |
[블록체인] 합의 알고리즘 (0) | 2022.04.22 |
[블록체인] 정보 보안 (0) | 2022.04.22 |
[블록체인] NFT (0) | 2022.04.18 |