사용가이드

※ 개발자편 가이드
준비과정 :
OS : 우분투 리눅스 기반의 개발 및 설치
자바 : JDK 1.8버전
웹서버 : 톰켓 8.5버전 이상
도커 : docker, docker compose 기본설치
개발도구 : 이클립스, Spring 4.0

개발자는 개발 환경을 이용하여 댑을 제작하고, 배포를 할 수 있습니다.
체인과 런처는 도커를 실행함으로써 쉽게 설치 및 운영이 가능합니다.
블록체인설치, 런처설치, 서비스등록 및 실행, 배포용 도커이미지만들기, 배포하기 과정을 진행하도록 하겠습니다.
자세한 내용은 동영상() 을 통해서 보실 수 있습니다.
※ 블록체인설치
1. http://github.com/nodehmoe-project/ 제공하는 nodehome-blockchain 를 다운로드합니다.
2. 실행파일 ./nodehome-blockchain.sh start 명령을 실행합니다. (중지는 stop 옵션입니다.)
3. http://github.com/nodehmoe-project/nodehome-blockchain/READMO.md 내용중에 Query to blockchain network 쿼리문을 복사해서 실행해 줍니다.
curl --header "Content-Type: application/json" --request POST --data '{"chaincode":"ecchain","query_type":"query","func_args":["PID","10000"],"func_name":"version"}' http://127.0.0.1:8050/chaincode_query
결과값이 {"ec":0,"pid":"PID","value":{"ver":"0.3.8"},"ref":"OK"} 정상적으로 나올때까지 계속 실행해줍니다.
4. docker ps 명령으로 체인이 정상적으로 설치 되었는지 확인합니다.
블록체인 로그 확인은 docker exec -it CANTAINER ID bash 실행합니다.
pm2 logs all 명령어를 실행합니다.
※ 런처설치
1. http://github.com/nodehmoe-project/ 제공하는 nodehome-launcher 를 다운로드합니다.
2. nodehome-launcher/launcher-debug-runner/config/hosts/hosts_nhlauncher.properties 편집모드로 들어갑니다.
127.0.0.1 => 자신의 로컬 IP 로 변경 및 세이브를 합니다.
3. nodehome-launcher/launcher-debug-runner/config/hosts/na_hosts.properties 편집모드로 들어갑니다.
127.0.0.1 => 자신의 로컬 IP 로 변경 및 세이브를 합니다.
4. nodehome-launcher/launcher-debug-runner/config/globals.properties 편집모드로 들어갑니다.
project_seedHost = http://127.0.0.1:7080 => 자신의 로컬 IP 로 변경 및 세이브를 합니다.
5. 실행파일 ./docker-run.sh start 명령을 실행합니다. (중지는 stop 옵션입니다.)
6. docker ps 명령으로 런처가 정상적으로 설치 되었는지 확인합니다.
※ 앱다운르도 및 DevNet 모드 접속
1. 노드홈 홈페이지(nodehoem.io) OR
구글플레이스토어에서 nodehome 키워드 입력 후 앱 다운로드 및 설치를 진행합니다.
2. 앱을 실행 후 우측 상단 메뉴 클릭 후 설정 메뉴 클릭합니다.
3. 버전을 7번 클릭하시어 DevNet 으로 활성화 시켜줍니다. 하단에 시드호스트 목록이 생깁니다.
4. 시드호스트를 클릭 후 본인이 설치한 런처서버의 주소를 http://개발서비IP:7080 입력합니다.
5. Network ID 를 DEVNET 선택 후 뒤로가기를 클릭합니다.
6. DevNet 로 접속되었습니다. 회원가입 버튼을 클릭 후 DevNet 회원가입을 진행합니다.
※ 로그인 및 지갑선택
1. 로그인을 합니다.
2. 최초 접속시 본인의 지갑을 체크 후 지갑선택 클릭합니다.
3. 잔고 확인 후 우측 상단 메뉴 클릭 후 서비스 종료를 클릭합니다.
※ 무료충전
1. 런처화면 우측 상단 메뉴 클릭 후 무료충전 메뉴 클릭합니다.
2. request 2,000,000BON from faucet 버튼을 클릭합니다.
3. 런처화면 우측 상단 메뉴 클릭 후 지갑 서비스 메뉴 클릭 후 잔고를 확인합니다.
※ 이클립스 HelloWorld 프로젝트 생성하기
1. http://github.com/nodehmoe-project/ 제공하는 nodehome-svm 를 다운로드합니다.
2. 이클립스에서 다운로드 받은 SVM을 Import 해준다.
Import 된 nodehome-svm 프로젝트를 Rename 하여 helloworld 로 변경해준다.
※ 서비스 추가 및 helloworld 에 발급받은 서비스ID 적용하기
1. 런처화면 우측 상단 메뉴 클릭 후 새서비스추가 메뉴 클릭합니다.
2. 원하시는 서비스명을 기재후 서비스등록 버튼을 클릭합니다.
3. 서비스 추가가 완료되었습니다. 서비스ID를 기억합니다.
4. WEB-INF/hosts/ 폴더안에 파일 2개의 파일명을 발급받으신 서비스 아이디값을 변경해줍니다.
host_nodehome.properties
wallet_nodehome.properties
5. 자바 src/resources/props/ 패키지안에 globals.properties 파일안의 project_serviceid 내용을 수정합니다.
project_serviceid = nodehome 내용을 그림처럼 변경해 줍니다.
Tomcat Restart 해줍니다.
6. 브라우저에서 http://자신의ip:8080/setup 실행합니다.
Host Wallet ID 에는 추후 운영시 수수료 받을 지갑 주소를 입력 후 Set Wallet ID 버튼을 클릭해 줍니다.
Host List 에는 자신이 서비스를 운영 할 호스트 서버의 도메인과 IP주소를 입력 후 My Host Add Request and List Update 버튼을 클릭해 줍니다.
7. 런처화면 우측 상단 메뉴 클릭 후 서비스검색 메뉴 클릭합니다.
실행한 hellowrold 서비스가 보여지며, 선택 후 등록 버튼을 클릭해 줍니다.
8. 등록된 helloworld 서비스가 보여집니다. helloworld 서비스를 클릭합니다.
9. 정상적으로 helloworld 돌아갑니다.
※ 배포용 도커이미지만들기
1. http://github.com/nodehmoe-project/ 제공하는 nodehome-service-docker 를 다운로드합니다.
2. helloworld 배표용 소스를 복사하여 nodehome-service-docker/source/ 폴더안에 붙여넣기 합니다.
bin/class 파일을 WEB-INF/classes/폴더안에 붙여넣기 합니다.
3. nodehome-service-docker/docker-build.sh 파일을 편집모드로 진입합니다.
docker rmi {docker account}/{image name}:0.1
docker build -t {docker account}/{image name}:0.1
이 부분을 자신의 계정과 도커이미지명으로 변경해 줍니다.
ex) {docker account}/{image name}:0.1
nodehome/helloworld:0.1 이렇게 변경해 줍니다.
4. nodehome-service-docker/docker-compose.sh 파일을 편집모드로 진입합니다.
image: {docker account}/{image name}:0.1
이 부분을 자신의 계정과 도커이미지명으로 변경해 줍니다.
ex) {docker account}/{image name}:0.1
nodehome/helloworld:0.1 이렇게 변경해 줍니다.
5. nodehome-service-docker/docker-build.sh 실행합니다.
docker images 명령으로 이미지가 정상적으로 만들어졌는지 확인합니다.
docker login 명령으로 로그인을 하시고 docker push 명령을 통해서 본인의 hub.docker.com 으로 업로드를 진행합니다.
6. 본인의 hub.docker.com 통해서 이미지가 정상적으로 올라갔는지 확인합니다.
※ 배포하기
1. Build 시 생성된 nodehome-service-docker/service-runner 폴더를 자신의 Cloud, DockerHub, Github, FileServier 등를 통해서 운영자들이 운영할 수 있게 업로드 및 공지해 줍니다.