윈도우에서 ICON 개발환경구축하기

nanaones
B!ock.Chain
Published in
9 min readFeb 18, 2019

ICON의 T-Bears 공식 문서에서는 Unix 계열의 OS, OS X를 공식적으로 권장하고 있습니다.

[T-Bears Github 공식 문서 속 설치 방법]

(윈도우는…?)

저도 회사에서는 지급되는 맥북으로 작업하지만, 특히 Windows 노트북 사용자가 많은 국내 환경상 Windows로 개발을 시작하는 개발자분들이 접근할 수 없는것도 사실입니다.

(OS X는 이쁜데, 우분투는 안이쁘다. 사실 그게 크다…)

Windows 를 사랑하는 한 사람으로서 아쉬웠던 부분이라서 나름대로 Windows 에서 ICON의 SCORE를 개발하거나, SDK(파이썬 한정) 를 사용하기 위해서 선행되어야할 설정내용에 대해서 글을 써 보았습니다.

제가 사용하는 노트북은 아래와 같은 사양입니다.

System Spec

Windows 10 Pro 1809 Build
24GB RAM
i5 8265U

1. 로컬에 설치하는 방법

2. Docker를 활용하는 방법

ICON의 공식 깃허브에 소개된 Unix 계열의 두 OS 만 소개가 되었던 방법을 살펴보겠습니다.

1. 로컬에 설치하는 방법

로컬에 설치하기 위해서는 아래와 같은 라이브러리가 설치되어있어야 합니다.

LevelDB,

libsecp256k1

이 두가지 라이브러리를 설치하여야만 T-Bears 를 설치할 수 있습니다. 특히, secp256k1은 아이콘의 지갑을 생성할 경우 사용되는 라이브러리 입니다.

[secp256k1 라이브러리]

(비트코인 코어에서 사용되는 라이브러리.)

로컬에 설치하기 위해서는 c언어로 된 secp256k1 라이브러리를 컴파일해서 사용해야 합니다.
[MinGW라는 C언어 컴파일러를 사용해서 컴파일 할 수있지만 … ]

물론, LevelDB 라이브러리도 정상적으로 설치되어야만 가능합니다.

설치는 가능할 것 같지만 설치에 사용되는 다른 라이브러리 모두를 다운로드 받고, 리눅스와 Windows 운영체제는 경로 표기가 다르므로경로를 모두 수정해 주어야 하므로 방법이 너무 복잡합니다.
[시도해보고있습니다. 성공하면 방법에 대해 자세히 포스팅하겠습니다.]

2. Docker를 사용하는 방법

ICON은 공식적으로 지원하는 도커 컨테이너가 있습니다.

(ICONloop 공식 배포 도커 허브)

1번의 로컬에 직접 설치하는 방법보다 더 간결하고 쉽습니다.
Docker 자체가 독립된 환경이기 때문에, 따로 빌드하기 위해 다른 프로그램을 설치하고, 복잡하게 버전을 맞춰줄 필요가 없습니다.
(컴퓨터를 더럽히지 않아도 됩니다. 야호)

Docker 에서 컨테이너를 불러들일 때,
-v 옵션을 통하여 볼륨을 연결할 수 있습니다. 볼륨이 윈도우에 마운트 되므로, IDE 를 활용해서 편안한 코딩을 할 수 있습니다.

하지만, 뭔가 모자랍니다. IDE가 켜져있는 호스트(Window) 자체에 라이브러리가 깔려있지 않기 때문에, IDE를 쓰는 장점이 반감됩니다.

(정신을 아득하게 하는 새빨간줄들)

IDE에서 문법체크가 안되는 문제 말고도 윈도우 도커는 문제가 많습니다.
Docker 자체가 Linux에 최적화 되어있는 프로그램이기 때문에, Window에서는 불안한 모습을 보입니다.

리눅스를 품은 윈도우,

Windows Subsystem Linux 사용해서 개발환경 구축하기

사용하기 전에 알아보아야 할 것

  • 최신 Windows build일것.(1607 build 이상)
  • x64 아키텍처일것
  • 윈도우 스토어를 사용할 수 있을것

위 사항을 모두 충족하는경우,
아래와 같은 순서를 통해 활성화 할 수 있습니다.

(Windows키 + 프로그램 추가/제거 검색)

Windows키 — “프로그램 추가/제거” 검색

프로그램 및 기능 클릭

Windows키 — “프로그램 추가/제거” 검색 — 프로그램 및 기능 클릭

Windows 기능 켜기 / 끄기 클릭

Windows키 — “프로그램 추가/제거” 검색 — 프로그램 및 기능 클릭 — Windows 기능 켜기 / 끄기 클릭

Linux용 Windows 하위시스템 체크

Windows키 — “프로그램 추가/제거” 검색 — 프로그램 및 기능 클릭 — Windows 기능 켜기 / 끄기 클릭 — Linux용 Windows 하위 시스템체크

재부팅하게 되면, 설치가 자동으로 이루어집니다.

아직 끝은 아닙니다.
원하는 Linux 배포판을 Windows store에서 다운로드 받아야 합니다.

store에서 제공되는 다양한 Linux 배포판

다운로드 받은 후,

CMD — “bash” 입력후 엔터

초기설정을 마무리한 후, 실제 리눅스와 같이 활용 가능합니다.

“리눅스는 다운로드 받았는데,
이거 그냥 CLI만 되는거 아니야..?”

네, 아닙니다. ㅋㅋㅋ

Xming 이라는 프로그램을 통해서 리눅스의 xwindow를 내 Windows 에 GUI로 뿌려줄 수 있습니다.

아래 프로그램은 Linux의 Xwindow 를 Windows 화면에 뿌려주는 프로그램입니다.

버전에 맞는 Xming 을 다운로드 받습니다.

Xmingserver는 기본설정으로 설치 합니다.

리눅스에서 파이참IDE를 Linux 버전으로 다운로드 받아, Linux 환경의 위치를 복사 해 둡니다.

바탕화면에서 우클릭 — 새로만들기 — 바로가기만들기

의 순서를 통해서, 바로가기를 만들어줍니다.

설정

C:\Users\사용자이름\AppData\Local\Microsoft\WindowsApps\ubuntu.exe run “cd /home/사용자이름/tools/pycharm-community-2018.3.4/bin ;export DISPLAY=:0;./pycharm.sh”

대상에는 위와 같이 입력해주었습니다.

[Linux 배포판 실행파일 위치] run [“Linux 명령어; export DISPLAY =:0 ; 명령”]

DISPLAY = :0 은 xwindow를 위한 옵션입니다.

설정이 제대로 완료되면…

Linux 에서 실행되는 파이참, 그리고 흔적없는 빨간줄…

Linux에서 실행되는 파이참IDE 가 바탕화면 바로가기 아이콘을 통해 바로 사용 가능한 것을 알 수 있습니다.

(주의, 실행할 때 Windows에 xmingserver 가 켜져있어야합니다.)

추가적으로, 이미 둘러보신 분들은 아시겠지만 우분투 18.04 LTS 버전의 경우
C드라이브가

/mnt/c

에 마운트 되어있습니다.

요약

1. Windows 에서 T-Bears 를 로컬에 설치하려면 복잡하다.

2. 도커 컨테이너는 잘 된다.

(하지만, IDE를 사용하여 코딩할 경우 빨간펜선생님이 출두한다.)

3. WSL(Windows Subsystem Linux) + XmingServer 를 활용하면

깔-끔하다.

WSL 을 찬양하라

그래서, 너는 어떻게 쓰니?

현재, 저의 개발환경은 2번과 3번을 같이 사용중입니다.

T-Bears 를 Docker 환경으로 띄워놓습니다.

(Docker 환경에서 Iconloop/tbears 컨테이너를 사용할 경우, 루트폴더 안에 있는 ‘tbears.log’파일을 tail 명령어로 -f 옵션으로 실행하게 되면, 현재 T-Bears의 로그를 실시간으로 확인할 수 있으므로 유용합니다. )

WSL + Xming Server 를 활용, 파이참 IDE를 통해 ICON pythonSDK를 사용하고 있습니다.

블록의 생성 + 트랜잭션 내용확인하면서 개발하는중…

이외에 ICON에 대한 질문사항이 있는경우,
아래의 ICON Forum 에서 질문하시면 답변을 얻으실 수 있습니다 .

Thanks to :

개비스콘짤 생성기
https://rajephon.github.io/gvsc/

Link :

[Bitcoin-core secp256k1 Library]
https://github.com/bitcoin-core/secp256k1

[ICON T-Bears ]
https://github.com/icon-project/t-bears

--

--