권장 사양 이하의 버전을 설치 진행 할 경우 사전 확인이 필요
가이드에서는 Debian계열 사용
가이드에서는 Redis v7.0.4 사용
sudo apt-get install update && sudo apt-get install redis-server
아래에 있는 설정들은 헤카테 커넥터가 정상적으로 진행되기 위하여 필요한 최소한의 설정들 입니다.
port 6379
# Redis 서버가 백그라운드에서 구동될 수 있도록 하는 기능
daemonize yes
loglevel debug
logfile "/Users/uracle/log/redis/redis.log"
# aof 또는 rdb에 데이터 저장되는 파일 경로설정
dir /usr/local/var/db/redis/
# Redis 서버 데이터 저장소가 메모리가 아닌 DISK 영역으로 활성활 경우
appendonly yes
# 데이터가 저장되는 파일명은 납품되는 프로젝트의 서버 관리자 및 설치 담당자가 파일명 수정하여 진행
appendfilename "appendonly.aof"
# 데이터가 저장되는 디렉토리명은 납품되는 프로젝트의 서버 관리자 및 설치 담당자가 파일명 수정하여 진행
appenddirname "aof"
# always : 레디스 명령이 실행될 때 마다 디스크에 쓴다. 성능이 떨어지기 때문에 특별한 경우가 아니면 사용하지않아도 된다.
# everysec : 데이터를 모아서 1초마다 디스크에 쓴다. 시스템 호출의 지연시간에 따라 2초이내의 데이터를 잃어버리는 경우 발생
# no : 디스크에 쓰는 시점을 운영체제에 맡긴다. 리눅스 같은 경우에는 평균적으로 30초마다 디스크에 쓴다.
appendfsync always
# no : 대용량 데이터를 쓰게(write)될 경우 appendsync설정에 따라 구동
# yes : 대용량 데이터를 쓰게(write)될 경우 운영체제에 맡긴다.
no-appendfsync-on-rewrite no
sudo systemctl restart redis-server
vi 압축푼war파일/WEB-INF/classes/logback.xml
vi 압축푼war파일/WEB-INF/classes/application.xml
# 설치된 Redis Server IP와 설정 port번호 수정 후 저장
redis:
host: localhost
port: 6379
vi 압축푼war파일/WEB-INF/classes/resolver.properties
# 진행하는 사업에 참여된 블록체인에 맞게 수정하여 진행
# ethereum, icon, aergo, nexledger
hecate.bc.mode = ethereum
#resourece.prop.path = blockchain/aergo/aergo.properties
resourece.prop.path = blockchain/ethereum/ethereum.properties
#resourece.prop.path = blockchain/icon/icon.properties
#resourece.prop.path = blockchain/nexledger/nexledger.properties
모든 블록체인 설정파일을 수정 하는게 아닌 진행하는 사업에 사용되는 블록체인 설정값만 수정 진행
vi 압축푼war파일/WEB-INF/classes/blockchain/ethereum/ethereum.properties
# ethereum.url = https://dev-mainnet.chainz.biz
ethereum.url = http://211.241.199.134:8545
# 계정 개인키 (hecate connector api v1.3 이상부터 사용하지 않음.)
# wallet.privkey = 67d1052fbc12ed3a7638d455537c4d3bb9252c2fdd03a82963f093b7a42eed54
# Ethereum ABI Directory Path
abi.file.path = blockchain/ethereum/abi-files
# 거래 영수증 조회 쓰레드 슬립 시간
receipt.sleep.duration = 1
# 거래 영수증 조회 시도 횟수
receipt.attempts = 10
vi 압축푼war파일/WEB-INF/classes/blockchain/aergo/aergo.properties
aergo.service.endpoint = alpha-api.aergo.io:7845
# 블록체인과 연결되기 까지의 대기 시간 (ms)
# hecate connector api v1.3 이상부터 사용하지 않음.
aergo.connection.timeout = 1500
# 영수증 및 트랜잭션 조회 시도 횟수
aergo.retry.count = 10
# 영수증 및 트랜잭션 조회 슬립 시간 (ms)
aergo.retry.inteval = 5000
vi 압축푼war파일/WEB-INF/classes/blockchain/icon/icon.properties
# SCORE 정보
# 접속 주소
domains=http://222.122.205.213:9080/api/v3/ch_certified
# SCORE 개인키
# privateKey=0x0f324c31f733da360fbc5fefa8bc70d155097965ca005aa61f374b04cf01098c
# 블록체인 네트워크 아이디
networkId=7559395
# 트랜잭션 가스 제한값
stepLimit=80000000
# 계정에서 보내는 트랜잭션에 할당 된 번호
nonce=1
# 요청 타임 아웃 시간 (ms)
writeTimeout=7000
# 응답 타임 아웃 시간 (ms)
readTimeout=7000
# 영수증 및 트랜잭션 조회 시도 횟수
resultCount=100
# 영수증 및 트랜잭션 조회 슬립 시간 (ms)
resultSleepTime=800
# 현재 사용하지 않음.
keyStorePath=
vi 압축푼war파일/WEB-INF/classes/blockchain/nexledger/nexledger.properties
Nexledger.ip=222.122.205.196:8090,222.122.205.197:8090,222.122.205.198:8090
# 블록체인에 생성된 채널 명
Nexledger.channelId=hecatedid
# 스마트 컨트랙트 배포할 때 설정한 스마트 컨트랙트명
chaincodeName=didContract_v2
tail -f 로그경로/로그파일명
http(s)://ip:port/swagger-ui/index.html
작성할 때는 예시로 이더리움을 설정하여 진행하였지만 프로젝트에 납품되었을 때는 해당 프로젝트에서 사용하는 블록체인으로 설정하여 테스트 진행