Skip to main content

Windows Compact 설정

이 가이드에서는 WSL(Windows Subsystem for Linux)을 사용하여 Windows에서 Midnight 개발 환경을 설정하는 방법을 다룹니다. WSL 설치 및 구성, Docker Desktop, Midnight Lace 지갑 등 필수 설정 단계를 안내합니다.

이 가이드를 마치면 Midnight Network에서 DApp을 빌드하고, proof server를 실행하고, 네트워크와 상호작용할 수 있는 개발 환경이 갖춰집니다.

Install Ubuntu

Midnight 네트워크용 DApp을 개발하려면 proof server나 빌드 스크립트 등 Linux 기반 도구를 실행해야 하는 경우가 많습니다. WSL(Windows Subsystem for Linux)을 사용하면 기존 가상 머신의 오버헤드 없이 Windows에서 네이티브 Linux 환경을 바로 사용할 수 있습니다.

설치 절차:

Windows 바탕화면에서 시작 메뉴를 엽니다.

Windows PowerShell(또는 명령 프롬프트)을 검색하고 결과를 마우스 오른쪽 버튼으로 클릭한 뒤 관리자 권한으로 실행을 선택합니다. WSL 같은 시스템 수준 기능을 설치하려면 관리자 권한이 필요합니다.

Windows 시작 메뉴에서 PowerShell 마우스 오른쪽 클릭 메뉴의 관리자 권한으로 실행 표시

명령 터미널에 다음 간소화된 설치 명령을 입력합니다:

wsl --install -d ubuntu

PowerShell 터미널에서 wsl 설치 명령 실행

이 명령은 자동으로 다음 작업을 수행합니다: WSL에 필요한 Windows 기능(Virtual Machine Platform 및 Windows Subsystem for Linux)을 활성화하고, Ubuntu 배포판(가장 널리 지원되는 Linux 환경)을 다운로드하여 설치합니다.

터미널에서 Ubuntu 배포판 다운로드 및 설치 진행 상황

필요한 서비스를 재시작합니다.

info

필요한 구성 요소와 Ubuntu 이미지를 다운로드하고 설치하는 데 인터넷 속도와 시스템 성능에 따라 5~15분 정도 걸릴 수 있습니다. 설치가 완료될 때까지 창을 닫지 마세요.

설치가 완료되면 Ubuntu 터미널 창이 자동으로 열리며, UNIX 사용자 이름과 비밀번호를 설정하라는 메시지가 나타납니다.

Ubuntu 터미널에서 새 UNIX 사용자 이름 및 비밀번호 생성 프롬프트

note

비밀번호 입력 시 보안상 화면에 문자가 표시되지 않습니다(Linux 터미널의 기본 동작). 비밀번호를 정확히 입력한 후 Enter를 누르세요.

성공적으로 구성되면 터미널 프롬프트의 일부로 새 사용자 이름이 표시됩니다(예: yourusername@DESKTOP-XXXXXX:~$).

Ubuntu 터미널에서 성공적��인 구성 및 사용자 프롬프트 표시

이 화면이 나타나면 WSL이 올바르게 설치되었고 Ubuntu를 사용할 준비가 된 것입니다.

Verification and best practices

WSL이 올바른 버전으로 실행 중인지 확인하려면 Windows PowerShell에서 다음 명령을 실행합니다:

wsl -l -v

목록에서 Ubuntu의 STATE가 Running(또는 Stopped), VERSION이 2인지 확인합니다. 최적의 성능과 Docker 연동을 위해 WSL 2가 필요합니다.

Install and configure Docker Desktop

선호하는 웹 브라우저를 열고 공식 Docker 웹사이트 docker.com/products/docker-desktop으로 이동합니다.

공식 Docker Desktop Windows 다운로드 페이지

Docker Desktop for Windows 다운로드 링크를 찾아 CPU 아키텍처에 맞는 설치 프로그램을 다운로드합니다(대부분의 시스템에서 Windows - AMD64 선택).

다운로드한 설치 프로그램(Docker Desktop Installer.exe)을 실행합니다. 설치 과정에서 Use WSL 2 instead of Hyper-V 체크박스가 선택되어 있는지 반드시 확인하세요. Docker가 앞서 설정한 Linux 환경과 원활하게 연동되려면 이 옵션이 필요합니다.

안내에 따라 설치를 완료합니다. 시스템 재시작이 필요할 수 있습니다.

재부팅 후 시작 메뉴에서 Docker Desktop을 실행합니다. 시작까지 잠시 시간이 걸리며, 시스템 트레이에 고래 아이콘이 나타납니다.

Verification and integration

Docker Desktop이 실행되면 Settings 메뉴(톱니바퀴 아이콘)를 엽니다.

Resources를 클릭한 다음 WSL integration 탭으로 이동합니다.

Enable integration with my default WSL distro 옵션이 ON으로 설정되어 있는지 확인하고, 특히 Ubuntu 배포판이 활성화되어 있는지 확인합니다. 이 설정을 통해 Linux 터미널에서 Docker 컨테이너를 직접 관리할 수 있습니다.

Set up and run the Midnight proof server

Midnight Proof Server는 DApp이 영지식 증명 생성과 트랜잭션 실행을 위해 통신하는 핵심 구성 요소입니다. 환경 일관성을 위해 Docker를 통해 실행합니다.

Download the Docker image

Docker Desktop 애플리케이션을 열고 Explore 섹션(또는 상단의 검색 필드)으로 이동합니다. midnightntwrk/proof-server를 검색하고 최신 이미지를 다운로드합니다.

Docker Desktop Images 탭에서 다운로드된 proof-server 이미지 표시

Run the proof server

proof server를 시작하려면 Ubuntu 터미널을 열고 다음 명령을 실행합니다:

docker run -p 6300:6300 midnightntwrk/proof-server:7.0.0 -- midnight-proof-server -v

다음과 유사한 출력이 표시되어야 합니다:

actix_server::server: starting service: "actix-web-service-0.0.0.0:6300", workers: 14, listening on: 0.0.0.0:6300
tip

이 터미널 창을 닫지 마세요. 컨트랙트를 컴파일하고 배포하려면 proof server가 계속 실행 중이어야 합니다.

Install the Compact compiler

Compact는 Midnight의 스마트 컨트랙트 언어입니다. Windows 환경에서는 나머지 Midnight 도구 체인과의 호환을 위해 WSL Ubuntu 터미널 내에서 컴파일러를 설치해야 합니다.

  1. Ubuntu 터미널(WSL)을 엽니다.
  2. 다음 명령을 실행하여 Compact 바이너리를 설치합니다:
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/midnightntwrk/compact/releases/latest/download/compact-installer.sh | sh
  1. 설치 스크립트가 경로를 자동으로 업데이트합니다. 현재 세션에 변경 사항을 적용하려면 셸 설정을 다시 불러옵니다:
source ~/.bashrc
  1. 버전을 확인하여 설치를 검증합니다:
compact --version
  1. 최신 버전으로 업데이트합니다:
compact update

Install the Compact VS Code extension

Compact VS Code 확장 프로그램은 스마트 컨트랙트 작성 시 유용한 구문 강조 및 실시간 에러 검사 기능을 제공합니다.

  1. 릴리스 페이지에서 Compact VS Code 확장 프로그램 VSIX 패키지를 다운로드합니다.
  2. VS Code를 엽니다.
  3. Extensions 뷰(Ctrl+Shift+X 누르기)로 이동하여 확장 프로그램 패널 오른쪽 상단의 ... (추가 작업) 메뉴를 클릭하고 **Install from VSIX...**를 선택합니다.
  4. 방금 다운로드한 .vsix 파일을 선택하여 설치를 완료합니다.

Next steps

개발 환경이 준비되었습니다. 첫 번째 스마트 컨트랙트를 작성하려면 hello world 튜토리얼을 참조하세요.