본문 바로가기

블록체인

모피어스랩 'Sample HFT Exchange' 설치로 거래소 입문하기

(먼저, 7시간 공들인 포스팅이 저장 미스로 날라가는 바람에 다시 글을 작성합니다. OTL ) 각설하고 지난 모피어스랩에 대한 포스팅 (모피어스랩 하나로 블록체인 구축이 레고블럭 처럼 손쉬워지다.) 이후 이번에 알아볼 것은 모피어스랩의 애플리케이션 라이브러리 4개 중 1개인 'Sample HFT Exchange' 입니다. 블록체인 사업을 꿈꾸는 모든 기업들의 아이템 중에서 거래소 라는 것도 하나의 분류인데요. 트레이딩을 하는 사람들이 많이 보는 화면이 주문하고 매도하고 현재의 상태를 보고 하는 것이 아닐까 합니다. 그러면에서 이 애플리케이션 라이브러리는 개발자들에게 많은 힌트를 주는 요소가 아닐까요? 하여 오늘의 주제는 "모피어스랩 Sample HFT Exchange' 설치로 거래소 입문하기" 입니다.



01. 모피어스랩 로그인

먼저 모피어스랩 사이트에 로그인을 합니다. 지난 포스팅을 통해서 만든 아이디와 패스워드를 활용하시면 되겠습니다.  모피어스랩 하나로 블록체인 구축이 레고블럭 처럼 손쉬워지다.


사이트 주소 : https://bps.morpheuslabs.io




02. 오늘의 주인공 Sample HFT Exchange

로그인을 한 후에 Application Library > Sample HFT Exchange 클릭합니다.


아래처럼 이것이 어떤 것을 할 수 있는지 설명이 나오는데요.  Source URL을 눌러서 확인을 해줍니다. 


소스 경로 : https://gitlab.com/mlcustomers/ml_tribeca



소스 사이트에 들어가서 설명을 보시면 설치법이 여러개 있습니다. 그 중에서 내 컴퓨터에 도커를 설치해서 환경을 구축해보도록 하겠습니다. 이를 위해서는 '도커 컴포즈'를 사용해야 하는데요. 그렇다면 '도커 컴포즈'는 무엇일까요? 약간의 개념을 알기 위한 긴 글이 될 수 있어 필요 없으신 분은 이 부분을 skip해서 다음 스텝으로 보셔도 무방합니다.


03. 도커 컴포즈란? (시간 없으신 분들은 Skip)

도커 컴포즈는 멀티-컨테이너 도커 애플리케이션들을 정의하고 구동하는 도구로 여러 개의 컨테이너가 하나의 애플리케이션으로 구동되는 경우 이 애플리케이션을 테스트하기 위해서 역할별로 각각 하나의 컨테이너를 생성해야 합니다. 예를 들어 규모가 있는 웹 애플리케이션일 경우에 Web 서버 컨테이너, WAS 서버 컨테이너, DB 서버 컨테이너등을 생성해야 하는데요. 이 애플리케이션을 구동하기 위해서 “docker run”명령어를 여러번 사용하여 컨테이너를 구동하고 개별적인 컨테이너가 정상적으로 동작하는지 확인하는 단계가 필요합니다. 그러나 매번 이러한 단계등을 위하여 run명령어에 옵션을 설정하여 CLI(Command Line Interface)로 컨테이너를 생성하는 것은 매우 비효율적인데요. 하나의 서비스를 위해서 여러개의 컨테이너를 개별 서비스로 정의하여 컨테이너의 묶음으로 관리하게 된다면 무척 편리할 것 입니다. 이러한 개념으로 실제 구현된 것이 도커 컴포즈(Docker Compose)입니다. 


도커 컴포즈(Docker Compose)는 컨테이너를 이용한 서비스의 개발과 CI(Continous Intergration)를 위하여 여러개의 컨테이너를 하나의 프로젝트로 다룰수 있는 작업환경을 제공합니다.

도커 컴포즈(Docker compose)는 여러 개의 컨테이너 옵션과 환경을 정의한 파일을 읽어 컨테이너를 순차적으로 생성하는 방식으로 동작합니다. 도커 컴포즈의 설정 파일은 run 명령어의 옵션을 그대로 사용할 수 있으며, 각 컨테이너의 의존성, 네트워크, 볼륨등을 함께 정의할 수 있습니다. 뿐만 아니라 스웜모드의 서비스와 유사하게 설정 파일에 정의된 서비스의 컨테이너 수를 유동적으로 조절할 수 있으며 컨테이너의 서비스 Discovery도 자동으로 이루어집니다. 소규모 형태의 서비스나 컨테이너 개발 환경에서는 도커 엔진의 run 명령어로 컨테이너를 생성하는 것이 편리할수 있지만 컨테이너의 수가 많아지고 정의해야 할 옵션이 많아진다면 도커 컴포즈(Docker Compose)를 사용하는것이 좋습니다.



04. 도커 컴포즈 다운로드


소스 다운로드 경로 : https://docs.docker.com/compose/install/


사이트에서 Windows > Get Docker for Windows 를 클릭합니다.



다음으로 Download from Docker Store를 클릭합니다.



다운로드 창에서 Please Login To Download를 클릭합니다.


로그인 창이 나타나는데요. 아래에 Create Account 클릭


간단하게 Username, 이메일, 패스워드, 동의 체크를 하고 Sign up을 합니다. 이메일을 인증하고 나면 가입이 모두 완료됩니다. 꼭 인증이 가능한 메일로 설정하세요.


이제 도커를 다운로드 받습니다. 도커에서 로그인을 한 후 Get Docker를 클릭합니다.


Get Docker를 눌러서 다운로드 받으려는 데이터 양을 보니 538MB 정도 되네요. 다운로드가 모두 완료가 되면 고래모양의 인스톨러 아이콘을 볼 수 있습니다.



05. 도커 컴포즈 설치


다운받은 도커 설치 파일을 실행합니다. 옵션을 모두 선택하고 OK 버튼을 눌러줍니다. 설치후에 변경이 가능하기 때문에 2번째 옵션은 선택적이라고 생각하시면 되겠습니다.





06. 도커 실행시 이런 에러라면? Hyper-V 설정 그리고 가상화

모두 설치가 완료된 후 이런 에러를 발견하셨다면 다음과 같은 설정을 해주어야 합니다. Hyper-V 설정과 가상화 설정법을 설명드리겠습니다. Ok를 하고 재시작이 될 것입니다.




가상화가 안된 노트북이나 PC라면 도커 실행시 아래와 같은 메시지를 보시게 될 것입니다. 이것은 '가상화(Virtualization)' 설정이 안되어서 그러는데요. 


링크를 실행하면 해당 정보가 나옵니다.




① Hyper-V 설정

제어판 > 프로그램 > Windows 기능 켜기/끄기(윈도우10 기준 설명입니다.) 누르면 아래와 같은 메뉴에서 Hyper-V의 + 옵션을 선택해서 모두 체크를 해줍니다.


작업 관리자 > 성능 메뉴를 살펴보면 '가상화'가 사용 안함으로 나옵니다. 이 부분을 조정해 주어야 하는데요. 부팅할때 Bios 세팅을 별도로 해주어야 합니다. 제 설정은 아래에서 설명드리겠습니다.



② BIOS 설정 및 가상화 체크

노트북과 PC의 제조사에 따라서 Bios 환경이 조금씩 다릅니다. 저는 HP노트북을 기준으로 설명을 드리겠습니다. Advanced 메뉴에 Vituralization 메뉴 2개를 체크하고 저장해줍니다. 이후 재시작을 합니다.


작업 관리자 > 성능 을 다시 확인해 보면 '가상화' 가 사용으로 변경되었음을 알 수 있습니다. 그러면 도커의 실행 환경이 모두 완료된 것입니다.



07. 도커 실행

정상적으로 가상화가 올라온 것을 확인하고 이제 Docker for Windows 아이콘을 눌러 실행을 합니다.



실행을 하면 아래와 같은 웰컴 팝업이 나타나는데요. 도커가 정상적으로 실행이 되었다는 의미이며 별도로 로그인 할 필요는 없습니다. 무시하셔도 됩니다.



08. 소스 다운로드(Sample HFT Exchange)


모피어스랩의 애플리케이션 라이브러리의 Sample HFT Exchange 소스를 다운로드 합니다.


소스 다운로드 경로 : https://gitlab.com/mlcustomers/ml_tribeca


아래의 화면처럼 우측에 Download.zip 을 선택해서 다운로드 받습니다.


09. 압축해제 & 파워쉘 실행하기

다운로드 받은 파일을 압축해제 합니다. 도커가 C드라이브에 있기에 동일한 드라이브에 압축을 해제하였습니다. 경로는 사용자가 임의 지정할 수 있습니다.



압축해제된 경로에서 shift + 마우스 오른쪽 버튼을 누르면 팝업메뉴가 나타납니다. '여기에 PowerShell 창 열기' 를 클릭합니다.


엡손 완성형 무한 ...


10. 파워쉘로 도커 컴포즈에서 소스 Up 실행하기

도커 컴포즈에서 파워쉘로 명령어를 실행해서 해당 소스를 올려보겠습니다. 실행 명령어는 다음과 같습니다. 이렇게 하면 다운로드, 압축해제, 설치를 자동으로 진행합니다.


명령어 : docker-compose up -d --build



다운로드와 압축해제 및 설치가 차례대로 진행되고 있습니다.


총 9/9단계가 진행되면 완료이고 마지막에 녹색글자의 done을 보면 설치 및 구동완료된 것입니다.


프로세서가 정상적으로 올라갔는지 점검하려면 다음의 명령어를 실행해 주세요.


명령어 : docker-compose ps


아래와 같이 Up으로 보이면 프로세스 실행이 정상적으로 올라온 것입니다.


현재 기본 포트가 3000으로 설정되어 있기 때문에 브라우저에서 호출을 해봅니다.

http://localhost:3000


http://localhost:3000/data/md 을 실행하시면 데이터를 볼 수 있어 웹 UI 뿐 아니라 다른 애플리케이션에서도 연결하기 쉽습니다.


먼저, 긴 글을 읽어주셔서 감사합니다. 포스팅이 나누어서 2탄을 준비하려고 합니다. 이는 env 설정값을 통해서 coinbase, hitbtc, okcoin, bitfinex와 api연동 등을 할 수 있는 부분이 되겠네요. 모피어스랩의 요소들을 점검하면서 드는 생각은 블록체인의 범용화를 위해서 많은 노력을 하고 있구나 하는 생각이 들었습니다. 앞으로가 더욱 중요하고 기대가 됩니다. coming soon으로 아직 연결되지 않은 서비스들이 무엇일지 궁금해집니다.

♡공감이 많아지면 더 좋은 글이 나와요.
♡공감은 로그인하지 않아도 누를 수 있습니다.