티스토리 뷰
[blockchain-explorer] Fabric v1.4.6 byfn 네트워크에 Docker로 blockchain-explorer 실행
miiingo 2020. 4. 7. 12:04Github : https://github.com/hyperledger/blockchain-explorer
소스 코드 복제
# 소스 코드 복제
cd /opt/gopath/src/github.com/hyperledger/
git clone https://github.com/hyperledger/blockchain-explorer
cd blockchain-explorer
실행 환경 설정
docker-compose.yaml 파일 수정
# docker-compose.yaml 파일 수정
vi docker-compose.yaml
explorer.mynetwork.com 서비스의 볼륨 설정을 변경해줘야합니다.
byfn 네트워크 실행 시 만들어진 crypto-config 디렉토리를 ./examples/net1/crypto 디렉토리로 복사하거나, 해당 디렉토리로 볼륨을 설정해주어야 합니다.
여기서는 볼륨 경로를 수정하겠습니다.
explorer.mynetwork.com:
...
volumes:
...
- /opt/gopath/src/github.com/hyperledger/fabric-samples/first-network/crypto-config:/tmp/crypto
...
※ byfn의 네트워크 이름은 net_byfn으로 설정되어있기 때문에 networks > mynetwork.com > external > name은 'net_byfn'으로 설정합니다.
만약, byfn 네트워크가 아닌 커스텀 네트워크로 띄웠다면 name을 수정해주어야 합니다.
네트워크는 다음 명령으로 확인 가능합니다.
# Docker 네트워크 확인
docker network ls
examples/net1/config.json 파일 수정
이 부분은 별다른 변경 사항이 없기 때문에 생략합니다.
만약, 네트워크의 이름(default: first-network)이나 profile 설정 파일을 변경하고 싶은 경우에는 수정이 필요합니다.
# examples/net1/config.json 파일 수정
vi examples/net1/config.json
examples/net1/connection-profile/first-network.json 파일 수정
# examples/net1/connection-profile/first-network.json 파일 수정
vi examples/net1/connection-profile/first-network.json
이곳에서는 채널 이름과 peers, organizations에 대한 항목 추가/수정이 필요합니다.
자신이 생성한 채널 이름에 맞게 설정해주어야 오류가 나지 않습니다.
또한, Org의 adminPrivateKey > path도 자신의 crypto-config 디렉토리 내에 있는 실제 _sk 값으로 변경해주어야 합니다.
{
"name": "first-network",
"version": "1.0.0",
"client": {
"tlsEnable": true,
"adminUser": "admin",
"adminPassword": "adminpw",
"enableAuthentication": false,
"organization": "Org1MSP",
"connection": {
"timeout": {
"peer": {
"endorser": "300"
},
"orderer": "300"
}
}
},
"channels": {
"hcchannel": {
"peers": {
"peer0.org1.example.com": {},
"peer1.org1.example.com": {},
"peer0.org2.example.com": {},
"peer1.org2.example.com": {}
},
"connection": {
"timeout": {
"peer": {
"endorser": "6000",
"eventHub": "6000",
"eventReg": "6000"
}
}
}
}
},
"organizations": {
"Org1MSP": {
"mspid": "Org1MSP",
"fullpath": true,
"adminPrivateKey": {
"path": "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/14fa558d2f54bcefac57a6035212b03da846f3f5b0ac510e6eec2ba2977682da_sk"
},
"signedCert": {
"path": "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem"
}
},
"Org2MSP": {
"mspid": "Org2MSP",
"fullpath": true,
"adminPrivateKey": {
"path": "/tmp/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/ecf5efeee019bdc677700d4ec857c76a6585e5aa72118d4b8aea0f2ce81a9f8a_sk"
},
"signedCert": {
"path": "/tmp/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem"
}
}
},
"peers": {
"peer0.org1.example.com": {
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt"
},
"url": "grpcs://peer0.org1.example.com:7051",
"eventUrl": "grpcs://peer0.org1.example.com:7053",
"grpcOptions": {
"ssl-target-name-override": "peer0.org1.example.com"
}
},
"peer1.org1.example.com": {
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt"
},
"url": "grpcs://peer1.org1.example.com:8051",
"eventUrl": "grpcs://peer1.org1.example.com:8053",
"grpcOptions": {
"ssl-target-name-override": "peer1.org1.example.com"
}
},
"peer0.org2.example.com": {
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt"
},
"url": "grpcs://peer0.org2.example.com:9051",
"eventUrl": "grpcs://peer0.org2.example.com:9053",
"grpcOptions": {
"ssl-target-name-override": "peer0.org2.example.com"
}
},
"peer1.org2.example.com": {
"tlsCACerts": {
"path": "/tmp/crypto/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt"
},
"url": "grpcs://peer1.org2.example.com:10051",
"eventUrl": "grpcs://peer1.org2.example.com:10053",
"grpcOptions": {
"ssl-target-name-override": "peer1.org2.example.com"
}
}
}
}
blockchain-explorer 실행/종료
blockchain-explorer 실행
이제 모든 설정이 끝났으면, blockchain-explorer를 실행합니다.
# blockchain-explorer 실행
cd /opt/gopath/src/github.com/hyperledger/blockchain-explorer
docker-compose up -d
docker container ls -a
※ docker-compose.yaml 파일에는 Prometheus와 Grafana 서비스도 정의되어있기 때문에, Prometheus와 Grafana 컨테이너도 함께 실행됩니다.
blockchain-explorer 종료
blockchain-explorer를 종료할 때에는 -v 옵션을 추가해 Docker 볼륨까지 제거합니다.
# blockchain-explorer 종료
cd /opt/gopath/src/github.com/hyperledger/blockchain-explorer
docker-compose down -v
'Blockchain > Blockchain 네트워크 구성' 카테고리의 다른 글
- Total
- Today
- Yesterday
- 빅데이터 강의
- 하이퍼레저 인디
- ubuntu
- Hyperledger Indy
- 하이퍼레저 패브릭
- ambrosus
- 직딩잇템
- Hyperledger Fabric v1.2
- docker
- 기초 of 기초 데이터 개념
- 블록 체인
- javascript
- 하이퍼레저 페브릭
- codility
- 알고리즘
- DOCs
- 문제풀이
- Hyperledger Fabric
- 빅데이터
- Private Data
- 어서와 데이터는 처음이지
- 빅데이터 교육
- 코딜리티
- 암브로셔스
- 빅데이터 기초
- 코테
- Hyperledger Fabric v1.1
- Blockchain
- 블록체인
- 코딩테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |