이 예제를 실행하기 위해서는 다음과 같은 것들이 필요합니다.
git clone https://github.com/hyperledger/fabric-samples
cd fabric-samples
./scripts/bootstrap.sh
# /fabcar
./startFabric.sh javascript
FabCar
스마트 컨트랙트도 같이
설치가 되고 인스턴스화됩니다.# /fabcar/javascript
npm install
node enrollAdmin.js
admin
이 생성됩니다.admin
은 certificate authority(CA)에 접근할 수 있는 registrar
입니다.Certificate Signing Request(CSR)
을 사용하는데 private key와
public key가 local에서 생성되고 CA
로 public key가 전송됩니다. 그러면 인코딩
된 certificate를 받습니다. 3개의 credential들은 월렛에 저장되고 관리자로서
권한을 가지게 됩니다.node registerUser.js
user1
이라는 사용자를 만들어서 wallet에
저장합니다.$ node query.js
Wallet path: /Users/yunseok/Development/study/fabric/fabric-samples/fabcar/javascript/wallet
Transaction has been evaluated, result is: "[{\"Key\":\"CAR0\",\"Record\":{\"color\":\"blue\",\"docType\":\"car\",\"make\":\"Toyota\",\"model\":\"Prius\",\"owner\":\"Tomoko\"}},{\"Key\":\"CAR1\",\"Record\":{\"color\":\"red\",\"docType\":\"car\",\"make\":\"Ford\",\"model\":\"Mustang\",\"owner\":\"Brad\"}},{\"Key\":\"CAR2\",\"Record\":{\"color\":\"green\",\"docType\":\"car\",\"make\":\"Hyundai\",\"model\":\"Tucson\",\"owner\":\"Jin Soo\"}},{\"Key\":\"CAR3\",\"Record\":{\"color\":\"yellow\",\"docType\":\"car\",\"make\":\"Volkswagen\",\"model\":\"Passat\",\"owner\":\"Max\"}},{\"Key\":\"CAR4\",\"Record\":{\"color\":\"black\",\"docType\":\"car\",\"make\":\"Tesla\",\"model\":\"S\",\"owner\":\"Adriana\"}},{\"Key\":\"CAR5\",\"Record\":{\"color\":\"purple\",\"docType\":\"car\",\"make\":\"Peugeot\",\"model\":\"205\",\"owner\":\"Michel\"}},{\"Key\":\"CAR6\",\"Record\":{\"color\":\"white\",\"docType\":\"car\",\"make\":\"Chery\",\"model\":\"S22L\",\"owner\":\"Aarav\"}},{\"Key\":\"CAR7\",\"Record\":{\"color\":\"violet\",\"docType\":\"car\",\"make\":\"Fiat\",\"model\":\"Punto\",\"owner\":\"Pari\"}},{\"Key\":\"CAR8\",\"Record\":{\"color\":\"indigo\",\"docType\":\"car\",\"make\":\"Tata\",\"model\":\"Nano\",\"owner\":\"Valeria\"}},{\"Key\":\"CAR9\",\"Record\":{\"color\":\"brown\",\"docType\":\"car\",\"make\":\"Holden\",\"model\":\"Barina\",\"owner\":\"Shotaro\"}}]"
$ node invoke.js
Wallet path: /Users/yunseok/Development/study/fabric/fabric-samples/fabcar/javascript/wallet
2019-02-20T04:46:42.563Z - info: [TransactionEventHandler]: _strategySuccess: strategy success for transaction "67384838d98b6d5953e0268ee16964d8f02751df28eea847deb449d91982a156"
Transaction has been submitted
$ node query.js
CAR12
가 추가된 것을 확인할 수 있습니다.
자바스크립트로 직접 만들면서 배우는 - 자료구조와 알고리즘 강의 바로 가기
실습으로 마스터하는 OAuth 2.0: 기본부터 보안 위험까지 - OAuth 2.0 강의 바로 가기
기계인간 이종립, 소프트웨어 개발의 지혜 - Git 강의 바로 가기
코드숨에서 매주 스터디를 진행하고 있습니다. 메일을 등록하시면 새로운 스터디가 시작될 때 알려드릴게요!