개발자는 오늘도 달립니다.
[Hyperledger Fabric] 하이퍼 레저 패브릭 & 익스플로러 설치 방법 본문
하이퍼 레저 익스플로러는 블록, 트랜잭션 및 관련 데이터, 네트워크 정보 (이름, 상태, 노드 목록), 외 체인 코드 및 트랜잭션, 기타 관련 항목을 모니터링 할수있는 웹 응용 프로그램 도구 입니다~!
현재까지 릴리즈 된 최신 버전은 2019년도 12월 10일날 나온 v1.0.0-rc2가 되겠고요.. 패브릭 지원 버전은 1.4.0~1.4.4 까지 지원 된다고 하네요. (제가 최근에 2.0 beta 로 테스트 할 때 무리 없이 모니터링 되기는 했습니다;;;)
이만 설명은 줄이고 본론으로 들어가도록 하죠~
(이 포스팅에서는 리눅스 우분투 18.04 OS 기준으로 가이드 하도록 하고, 아무것도 설치 되어있지 않다 를 전제로 두겠습니다. 만약 패브릭이든 유틸이든 깔려있으면 해당 부분은 생략하고 진행하시면 될것같아요.)
- 의존성 및 OS
- Nodejs 8.11.x (v9.x는 아직 지원되지 않음)
- PostgreSQL 9.5 이상
- jq
- Ubuntu 1804
확인 된 Docker 버전 지원 :
1. 계정 생성
루트 계정 사용 시 익스플로러가 정상 동작 하지 않을 수 있으며, 동작이상을 떠나 루트 계정 사용은 왠만하면 자제 해야겠죠?
(계정 이름은 원하시는 걸 하면 되요! 이 과정에서는 explorer 라고 만들겠습니다.)
$sudo adduser explorer
$sudo usermod -aG sudo explorer
$su - explorer
2. 관련 필수 유틸 설치
하이퍼레저 패브릭 설치 하기 전에 관련 된 아래 유틸들을 셋팅해야 해요~
- 목록
- Nodejs 8.11.x and above (9.x is not yet supported)
- PostgreSQL 9.5 and above
- jq
- docker-ce
- docker-compose
- GO
prereqs-ubuntu.sh 쉘 안에는 유틸 설치 커맨드가 들어 있습니다.
$curl -O https://hyperledger.github.io/composer/latest/prereqs-ubuntu.sh
$chmod u+x prereqs-ubuntu.sh
$./prereqs-ubuntu.sh
그리고, 아래와 같은 커맨드로 고랭을 설치 다운받고, 환경변수를 셋팅 해줄께요.
$wget https://dl.google.com/go/go1.11.2.linux-amd64.tar.gz
$sudo tar -C /usr/local -xzvf go1.11.2.linux-amd64.tar.gz
$vi ~/.bashrc
#(add these 2 lines to end of file)
export GOPATH=/usr/local/go
export PATH=$PATH:$GOPATH/bin
마지막으로 jq를 설치 하도록 하고, 재 로그인 하겠습니다.
$sudo apt-get install jq
$exit
$su - explorer
3. 하이퍼레저 패브릭 (1.4.4) 설치
하이퍼 레저를 다운 받고, 베이직 튜토리얼인 퍼스트 네트워크를 올릴께요.
(현재 20191231 최신인 2.0 베타를 받아도 이상이 없더군요.)
$curl -sSL http://bit.ly/2ysbOFE | bash -s 1.4.4
(2.0 베타 - $curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.0.0-beta 1.4.4 0.4.18)
$cd ~/fabric-samples/first-network
$./byfn.sh generate
$./byfn.sh up
하이퍼레저 패브릭 설치에 관련 해 자세히 알고 싶다면.. 아래 이전 포스팅 링크
4. 블록체인 익스플로러 소스 다운로드
$cd
$git clone https://github.com/hyperledger/blockchain-explorer.git
5. 포스트그레스 데이터베이스 설치
익스플로러는 postgreSQL DB를 사용합니다. (초창기 버전에서는 Mysql&Maria 를 썼던거 같은데...)
$sudo apt-get update
$sudo apt-get install postgresql postgresql-contrib
$service postgresql restart
아래 명령어로 상태를 확인 합니다.
$pg_lsclusters
6. 데이터베이스 에 기본 구성(테이블, 데이터 등) 생성
createdb.sh 쉘을 실행시켜서 익스플로러가 필요로 하는 데이터베이스, 유저, 기본 테이블 등 을 생성 합니다.
$cd blockchain-explorer/app/persistence/fabric/postgreSQL
$chmod -R 775 db/
$cd db
$./createdb.sh
아래 커맨드로 생성 리스트를 확인 합니다.
$sudo -u postgres psql
$\l
- psql 종료 명령 (exit command)
$\q
7. 익스플로러 설정 파일 수정
익스플로러도 기본 튜토리얼로 first-network를 지원하므로, first-network.json 파일을 그대로 사용 하되 3번에서 패브릭을 설치하고 네트워크를 생성할 때 만들어진 비공개키의 경로만 변경 해주면 되용
아래 경로에 위치한 파일의 주소를 기억 해 둡니다.
$ls ~/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/
해당 경로에 위치한 json 설정 파일을 열어 기억 해 두었던 파일 path 로 대체 해주세요.
(organizations - adminPrivateKey, signedCert, peers - tlsCACerts)
$cd blockchain-explorer/app/platform/fabric/connection-profile
$vi first-network.json
8. 익스플로러 설치 스크립트 실행 및 기동
$cd blockchain-explorer
$./main.sh install
$./start.sh
설치가 정상적으로 완료 되었다면 http://<Your-IP-Address>:8080 웹사이트로 억세스 할 수 있습니다.
처음접속하면 아이디와 비번 입력하는 화면이 뜨는데 해당 정보는 7번에서 설정 했던 first-network.json 파일에 기입 되어 있습니다. 디폴트는 admin:adminpw 이고요!
<하이퍼레저 패브릭>
'블록체인 > 하이퍼레저패브릭' 카테고리의 다른 글
[Hyperledger Fabric] 블록체인 대표적인 합의 알고리즘 - 작업증명, 지분증명 (0) | 2020.07.04 |
---|---|
[Hyperledger Fabric] 블록체인 종류 및 합의 알고리즘 (0) | 2020.07.04 |
[Hyperledger Fabric] 블록체인에 사용되는 합의 알고리즘 3 - PBFT, DPoS, Paxos, Raft (0) | 2020.07.04 |
[Hyperledger Fabric] Hyperledger Caliper 설치 및 실행 방법 (0) | 2020.06.08 |
[Hyperledger Fabric] 하이퍼 레저 패브릭 네트워크 환경 구축 with virtualbox, vagrant, ubuntu, docker (0) | 2019.08.22 |