이더리움과 하이퍼레저의 차이점은


하이퍼레저의 경우

보증피어(endoring peer)에서만 코드를 실행하고, 결과를 공유한다.

이에 따라

거래처리를 병렬적으로 한다. (이더리움은 순차적)

이러한 프로그래밍 형태를 non-deterministic이라 부른다. (이더리움은 deterministic)


== 그 외 구성요소 ==

MSP (Membership Service Provide) - 

Ordering Service - 병렬적인 처리의 순서 정렬.


그 외 client node와 보증피어로 구성됨


== == 

이더리움이 머클패트리샤트리로 계정기반의 world-state를 관리하듯이

하이퍼렛져는 key-value기반의 world-state를 관리한다.



박승철교수님의 강의 참조: REF



=== ChainCode 관련 == 

chainCode는 여러노드에서 실행을 위해 multiple Sign을 할 수도 있고, 간단하게 single Sign을 할 수도 있다.


Single Sign시에는 하나의 노드에서만 구동이 가능하다.


<install 절차>

1. Install을 위해서는 SignedProposal을 LSCC(Lifecycle System ChainCode)로 보내야 한다. SignedCDS포맷을 따르게 된다.
- $peer chaincode install 커맨드 이용


2. instantiate 

- 채널을 바인딩해서 해당채널에  transaction을 submit한다.

- $peer chaincode instantiate 커맨드 


한번 instantiate를 하고난 후에는 upgrade 커맨드를 이용한다.


참고: #peer chaincode --help   REF


peer chaincode install -n mycc -v 0 -p path/to/my/chaincode/v0
peer chaincode instantiate -n mycc -v 0 -c '{"Args":["a", "b", "c"]}' -C mychannel
peer chaincode install -n mycc -v 1 -p path/to/my/chaincode/v1
peer chaincode upgrade -n mycc -v 1 -c '{"Args":["d", "e", "f"]}' -C mychannel
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","e"]}'
peer chaincode invoke -o orderer.example.com:7050  --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}'


Posted by yongary
,