티스토리 뷰
VM 설치 : https://webnautes.tistory.com/448
사전작업 :
- sudo apt update
- sudo apt install apt-transport-https ca-certificates curl software-properties-common
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
- sudo apt update
- apt-cache policy docker-ce
- sudo apt install docker-ce
nodejs 설치
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
우선 하이퍼레저 컴포저의 공식문서대로 설치를 진행하였다.
https://hyperledger.github.io/composer/latest/index.html
참고 : https://github.com/IBM/BlockchainNetwork-CompositeJourney/blob/master/README-ko.md
1. 처음에 npm install -g composer-cli@0.20이 설치부터 npm error가 발생되었다.
npm 발생은 nvm으로 설치하던지 도커가 깨진경우였다.
도커가 깨진 경우는 삭제 후 다시 설치를 하면 되었다.
도커 삭제
$ sudo apt-get remove docker docker-engine
재설치
$curl -sSL https://get.docker.com/ | sh
권한 추가
$sudo usermod -aG docker user
로 진행을 하였다.
우선 나는 npm을 nvm으로 설치를 하여서 진행을 하였다.
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
$ export NVM_DIR="$HOME/.nvm"
$[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
그 다음
nvm을 통한 로컬 node 설치를 하였다.
$ nvm install 8
$ nvm use 8
한 다음에
$which node
/home/youngpyo/.nvm/versions/node/v8.16.0/bin/node
그 다음에는 공식문서로대로 하면 잘깔린다.
docker를 죽이는 방법은 공식문서에 잘 기록이 되어있다.
에러가 나면 docker를 한번씩 삭제했다가 까는걸 추천한다.
docker kill $(docker ps -q) docker rm
$(docker ps -aq) docker rmi
$(docker images dev-* -q)
를 이용하면 되지만, 첫번째 했던 아예 삭제했다가 까는게 더 작동되는것을 확인하였다.
VS code를 열어보려면, 터미널에서 code . 을 하면 실행이 된다.
요만에 대한 설명 : https://github.com/miconblog/Slide/tree/master/20140402
VS를 터미널에서 code . 으로 cto,js,acl를 수정을 해준다.
차례대로 cto파일은 tutorail-network에서 org.example.mynetwork.cto에 있다.
js파일은 tutoriail-network에서 lib에 있다
acl은 Permissions.acl에 있다.
여기서 주의해야점은 주석처리가 되어있는걸 삭제하면 안된다.
지금 주석으로 태그가 되어있기 때문에, 주석을 삭제하면 실행이 되지 않는다.
$composer network install --card PeerAdmin@hlfv1 --archiveFile tutorial-network@0.0.1.bna
여기 설치할때 에러가 발생하였다.
network@0.0.1.bna✖ Installing business network. This may take a minute...
Error: Archive file tutorial-network@0.0.1.bna does not exist.
Command failed
도커를 삭제했다가 재설치하였는데도 똑같은 에러가 나서
./downloadFabric.sh
./startFabric.sh
./createPeerAdmincard.sh 실행을 다시한 후 진행을 해보았다.
permission denied 해결방법
https://stackoverflow.com/questions/48568172/docker-sock-permission-denied
이번에는 ./startFabric.sh에서
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running? 다음과 같은 에러가 났다.
그리하여 혹시 sudo권한을 주면 될까?라는 호기심이 해봤는데.된다....
./createPeerAdmincard.sh는 sudo 권한을 주면 실행되지 않았다.
또 에러가 발생하였다.
$composer network install --card PeerAdmin@hlfv1 --archiveFile tutorial-network@0.0.1.bna
여기 설치할때 에러가 발생하였다.
network@0.0.1.bna✖ Installing business network. This may take a minute...
Error: Archive file tutorial-network@0.0.1.bna does not exist.
Command failed
계속 에러나서 모든 composer에 관련된걸 삭제하고 재설치한다음에 하였더니 깔린다...이런...
설치 참고 : https://d2fault.github.io/2018/04/30/20180430-setting-hyperledger-developement-environment/
에러가 났을경우는
export FABRIC_VERSION=hlfv12
~/fabric-dev-servers/stopFabric.sh
~/fabric-dev-servers/teardownFabric.sh
~/~/fabric-dev-servers/teardownAllDocker.sh
후에 다시 설치.
composer archive create --sourceType dir --sourceName . -a tutorial-network@0.0.2.bna
할 때의 에러가 발생 Input directory: /home/youngpyo/fabric-dev-servers/tutorial-network
ParseException: Expected "namespace", comment, end of line or whitespace but "e" found. File /home/youngpyo/fabric-dev-servers/tutorial-network/models/org.example.mynetwork.cto line 1 column 1
그리하여 개발자 튜터리얼로 돌아가서 다시 설치
yo hyperledger-composer:angular 할때
angluar파일에 들어가서 npm start를 할것!
할 때의 에러가 발생 Input directory: /home/youngpyo/fabric-dev-servers/tutorial-network
ParseException: Expected "namespace", comment, end of line or whitespace but "e" found. File /home/youngpyo/fabric-dev-servers/tutorial-network/models/org.example.mynetwork.cto line 1 column 1
나의 문제점은 기존 파일을 삭제한 후에 실시를 하였는데, 그렇게 진행을 하지말고 덧붙여 쓸것 아니면 에러남!
0.0.2 bna가 설치되어 있지 않는데 인스톨이 되지 않아서
개발자 튜터리올에서 0.0.1 bna를 다시 실행한 후 시작되면 된다. 0.0.1이 돌아가고 있어야 작동가능