책을 따라하다가 중간에 해결 불가능한 에러 발생... 앞서 first-network 예제를 따라하며 중복되는 부분 때문인 것 같다고 생각해서 다시 fabric-samples 지우고 설치
curl -sSL http://bit.ly/2ysbOFE | bash -s 1.4.0
0-1. 백그라운드에서 네트워크 구동
cd ~/go/src/github.com/hyperledger/fabric/fabric-samples/balance-transfer/artifacts
docker-compose -f ./docker-compose.yaml up -d
===============에러 발생 시================
> ERROR: for orderer.example.com Cannot create container for service orderer.example.com: Conflict. The container name "/orderer.example.com" is already in use by container "20beeb07348333c09fcb9bc0a
기존 예제에서 실행했던 container 때문인 것으로 추정,, 아래 명령어로 모두 삭제 후 재실행
docker rm $(docker ps -a -q)
======================================
0-2. fabric-client fabric-ca-client 노드 모듈 설치 (다른 위치에서 실행 시 하다가 에러남..)
cd ~/go/src/github.com/hyperledger/fabric/fabric-samples/balance-transfer
npm install
0-3. 포트 지정 및 app.js 구동
port=4000 node app
1. 멤버와 조직 등록
curl -s -X POST http://localhost:4000/users -H "content-type: application/x-www-form-urlencoded" -d 'username=Jim&orgName=Org1'
curl -s -X POST http://localhost:4000/users -H "content-type: application/x-www-form-urlencoded" -d 'username=Barry&orgName=Org2'
sudo apt install jq
ORG1_TOKEN=$(echo $ORG1_TOKEN | jq ".token" | sed "s/\"//g")
ORG1_TOKEN=$(echo $ORG1_TOKEN | jq ".token" | sed "s/\"//g")
===================미동작====================
위 명령어로 안들어 가진다...왜지?.. 그냥 직접 "token" 결과값을 복사해서 넣어주자 (개인별로 다름)
ORG1_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NzcxOTk1MTksInVzZXJuYW1lIjoiSmltIiwib3JnTmFtZSI6Ik9yZzEiLCJpYXQiOjE1NzcxNjM1MTl9.akU7QMh_jJYsofYjwO-FAlEyiwqMS5Sx90YsK0gRiy8"
ORG2_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NzcxOTk2OTQsInVzZXJuYW1lIjoiQmFycnkiLCJvcmdOYW1lIjoiT3JnMiIsImlhdCI6MTU3NzE2MzY5NH0.cQzcl78ebOlcu1GbMFgzPpTh0PCAzjOVkTwa9sIbJsE"
=========================================
2. 채널 생성
curl -s -X POST http://localhost:4000/channels -H "authorization: Bearer $ORG1_TOKEN" -H "content-type: application/json" -d '{
"channelName":"mychannel",
"channelConfigPath":"../artifacts/channel/mychannel.tx"
}'
3. 채널에 조인하기
curl -s -X POST http://localhost:4000/channels/mychannel/peers \
-H "authorization: Bearer $ORG1TOKEN" \
-H "content-type: application/json" \
-d '{ "peers": ["peer0.org1.example.com","peer1.org1.example.com"]}'
=====================에러 발생=========================
>UnauthorizedError: No authorization token was found at middleware (/home/asd/go/src/github.com/hyperledger/fabric/fabric-samples/balance-transfer/node_modules/express-jwt/lib/index.js:76:21)
TOKEN 값을 직접 넣어줘서 그런가?.......안된다........뭐지 뭘까.....
실수로 VM을 suspend 하지않고 power off 했다... 그리고 역시나 ubuntu가 재실행되지 않는다.
이유를 모르겠네,, 다시 지우고 재설치 한다..
일단 해결못하고 포기 ... page.55
====================================================
(참고) # admin 계정의 토큰 값 출력
curl 'http://localhost:4000/users' -H 'Content-Type: application/json' -d '{"username":"admin"}' | jq -r .token
'Hyperledger' 카테고리의 다른 글
[Hyperledger] p.51 Balance Transfer 예제 따라하기 (CentOS 7) (0) | 2021.06.04 |
---|---|
[Hyperledger] p.38 first-network 예제 따라하기 (CentOS 7) (0) | 2021.06.04 |
[Hyperledger] p.20 하이퍼레저 패브릭 개발 환경 설정 (CentOS 7) (0) | 2021.06.04 |
[Hyperledger] p.38 first-network 예제 따라하기 (unbuntu 18.04) (0) | 2021.06.04 |
[Hyperledger] p.20 개발 환경 설정 (unbuntu 18.04) (0) | 2021.06.04 |