# Mwc - Build, Configuration, and Running *다른 언어로 ë˜ì–´ìžˆëŠ” 문서를 ì½ìœ¼ë ¤ë©´: [English](../build.md), [Español](build_ES.md), [日本語](build_JP.md), [简体ä¸æ–‡](build_ZH-CN.md).* ## 지ì›í•˜ëŠ” 플랫í¼ë“¤ì— 대해서 장기ì 으로는 ëŒ€ë¶€ë¶„ì˜ í”Œëž«í¼ì—ì„œ ì–´ëŠì •ë„ 지ì›í•˜ê²Œ ë 것입니다. Mwc í”„ë¡œê·¸ëž˜ë° ì–¸ì–´ëŠ” `rust`ë¡œ ëŒ€ë¶€ë¶„ì˜ í”Œëž«í¼ë“¤ì—ì„œ 빌드 í• ìˆ˜ 있습니다. 지금까지 ìž‘ë™í•˜ëŠ” 플랫í¼ì€ 무엇ì¸ê°€ìš”? * Linux x86_64 ê·¸ë¦¬ê³ macOS [mwc + mining + development] * Windows 10ì€ ì•„ì§ ì§€ì›í•˜ì§€ 않습니다 [mwc kind-of builds, miningì€ ì•„ì§ ì§€ì›í•˜ì§€ ì•ŠìŒ . ë„ì›€ì´ í•„ìš”í•´ìš”!] ## ìš”êµ¬ì‚¬í• * rust 1.34 ë²„ì „ ì´ìƒ (ë‹¤ìŒ ëª…ë ¹ì–´ë¥¼ 사용하세요. [rustup]((https://www.rustup.rs/))- 예.) `curl https://sh.rustup.rs -sSf | sh; source $HOME/.cargo/env`) * 만약 rust ê°€ 설치ë˜ì–´ 있다면, ë‹¤ìŒ ëª…ë ¹ì–´ë¥¼ 사용해서 ì—…ë°ì´íŠ¸ í• ìˆ˜ 있습니다. `rustup update` * clang * ncurses ê³¼ libs (ncurses, ncursesw5) * zlib libs (zlib1g-dev or zlib-devel) * pkg-config * libssl-dev * linux-headers (reported needed on Alpine linux) * llvm Debian ê¸°ë°˜ì˜ ë°°í¬ë“¤ì€ (Debian, Ubuntu, Mint, 등등) ë‹¤ìŒ ëª…ë ¹ì–´ í•œ 줄로 설치 ë©ë‹ˆë‹¤. ```sh apt install build-essential cmake git libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev pkg-config libssl-dev llvm ``` Mac 사용ìž: ```sh xcode-select --install brew install --with-toolchain llvm brew install pkg-config brew install openssl ``` ## 빌드 순서 ```sh git clone https://github.com/mwcproject/mwc-node.git cd mwc cargo build --release ``` Mwcì€ Debug 모드로 Build í• ìˆ˜ 있습니다. (`--release` 플래그가 사용하지 ì•Šê³ , `--debug` ë˜ëŠ” `--verbose` 플래그를 사용하세요.) 그러나 ì´ ëª…ë ¹ì–´ëŠ” 암호 오í¼ë ˆì´ì…˜ìœ¼ë¡œ ì¸í•´ í° ì˜¤ë²„í—¤ë“œë¥¼ 가지므로 fast sync ê°€ ì–´ë ¤ìš¸ ì •ë„ë¡œ ëŠë ¤ì§‘니다. ## Build ì—러들 [트러블 슈팅 ê´€ë ¨í•´ì„œëŠ” ì´ ë§í¬ë¥¼ í´ë¦í•˜ì„¸ìš”.](https://github.com/mimblewimble/docs/wiki/Troubleshooting) ## ë¬´ì—‡ì„ Build 해야 ë˜ë‚˜ìš”? 성공ì 으로 빌드한다면: * `target/release/mwc` - ë©”ì¸ mwc ë°”ì´ë„ˆë¦¬ ë””ë ‰í† ë¦¬ê°€ ìƒì„±ë©ë‹ˆë‹¤. ëª¨ë“ ë°ì´í„°, ì„¤ì •, 로그 파ì¼ë“¤ì€ 기본ì 으로 숨겨진 `~/.mwc` ë””ë ‰í† ë¦¬ì— ìƒì„±ë˜ê³ 사용ë©ë‹ˆë‹¤. (user home ë””ë ‰í† ë¦¬ ì•ˆì— ìžˆìŠµë‹ˆë‹¤.) `~/.mwc/main/mwc-server.toml` ì„ ìˆ˜ì •í•´ì„œ ëª¨ë“ ì„¤ì •ê°’ë“¤ì„ ë°”ê¿€ 수 있습니다. Mwcì€ í˜„ìž¬ ë””ë ‰í† ë¦¬ ë‚´ì—ì„œë„ ë°ì´í„° 파ì¼ë“¤ì„ 만들 수 있습니다. ë°‘ì— ìžˆëŠ” Bash ëª…ë ¹ì–´ë¥¼ ìž‘ë™í•˜ì„¸ìš”. ```sh mwc server config ``` ì´ ëª…ë ¹ì–´ëŠ” `mwc-server.toml`를 현재 ë””ë ‰í† ë¦¬ì—ì„œ ìƒì„±í•©ë‹ˆë‹¤. ì´ íŒŒì¼ì€ 현재 ë””ë ‰í† ë¦¬ ë‚´ì˜ ëª¨ë“ ë°ì´í„°ì— 대해서 사용하ë„ë¡ ë¯¸ë¦¬ 구성ë˜ì–´ 있습니다. `mwc-server.toml` 파ì¼ì´ 있는 ë””ë ‰í† ë¦¬ì—ì„œ mwcì„ ì‹¤í–‰í•˜ë©´ 기본값`~ / .mwc / main / mwc-server.toml` ëŒ€ì‹ ê·¸ 파ì¼ì˜ ê°’ì„ ì‚¬ìš©í•˜ê²Œë©ë‹ˆë‹¤. Testing 중ì—서는 Mwc ë°”ì´ë„ˆë¦¬ë¥¼ ì´ë ‡ê²Œ path ì— ì‚½ìž… í• ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. ```sh export PATH=`pwd`/target/release:$PATH ``` 만약 Mwcì„ root ë””ë ‰í† ë¦¬ì—ì„œ ì‹¤í–‰í•œë‹¤ê³ ê°€ì •í•˜ë©´, `mwc` ëª…ë ¹ì–´ë¥¼ 바로 ì‹¤í–‰í• ìˆ˜ 있습니다. (`mwc help` ëª…ë ¹ì–´ë¥¼ 통해서 좀 ë” ë§Žì€ ì˜µì…˜ì„ ì•Œì•„ë³´ì„¸ìš”.) ## ì„¤ì •í•˜ê¸° Mwc ì€ ê¸°ë³¸ì 으로 ì„¤ì •ë˜ì–´ 있는 올바른 값으로 ì‹¤í–‰í•˜ê³ `mwc-server.toml`를 통해 추가로 ì„¤ì •í•˜ëŠ” ê²ƒì´ ê°€ëŠ¥í•©ë‹ˆë‹¤. Mwcì´ ì²˜ìŒ ì‹¤í–‰ë ë•Œ ì„¤ì •íŒŒì¼ì´ ìƒì„±ë˜ê³ ê° ì‚¬ìš©ê°€ëŠ¥í•œ ì˜µì…˜ì— ëŒ€í•œ ë§¤ë‰´ì–¼ì„ í¬í•¨í•˜ê³ 있습니다. `mwc-server.toml` 파ì¼ì„ 통해 ëª¨ë“ Mwc 서버 êµ¬ì„±ì„ ìˆ˜í–‰í•˜ëŠ” ê²ƒì´ ì¢‹ì§€ë§Œ, 커맨드 ë¼ì¸ ëª…ë ¹ì–´ë¥¼ 사용하면 `mwc-server.toml` 파ì¼ì˜ ëª¨ë“ ì„¤ì •ì„ ë®ì–´ì“°ëŠ” ê²ƒì´ ê°€ëŠ¥í•©ë‹ˆë‹¤. Mwcì„ ìž‘ë™ì‹œí‚¤ëŠ” ëª…ë ¹ì–´ì— ëŒ€í•œ ë„움ë§ì€ ë‹¤ìŒ ëª…ë ¹ì–´ë¥¼ 실행하세요. ```sh mwc help mwc server --help mwc client --help ``` ## Docker 사용하기 ```sh docker build -t mwc -f etc/Dockerfile . ``` floonetì„ ì‚¬ìš©í•˜ë ¤ë©´ `etc/Dockerfile.floonet` ì„ ì‚¬ìš©í•˜ì„¸ìš”. container 안ì—ì„œ mwc cache를 bind-mountë¡œ 사용 í• ìˆ˜ 있습니다. ```sh docker run -it -d -v $HOME/.mwc:/root/.mwc mwc ``` Docker를 named volume으로 사용하는 ê²ƒì„ ì„ í˜¸í•œë‹¤ë©´ `-v dotmwc:/root/.mwc` ëª…ë ¹ì–´ë¥¼ ëŒ€ì‹ ì‚¬ìš©í• ìˆ˜ 있습니다. named volume샤용시 volume ìƒì„±ì‹œ 기본 ì„¤ì •ì„ ë³µì‚¬í•©ë‹ˆë‹¤. ## í¬ë¡œìŠ¤ í”Œëž«í¼ ë¹Œë“œ Rust(Cargo)는 여러 플랫í¼ì—ì„œ Mwcì„ ë¹Œë“œ í• ìˆ˜ 있습니다. 그래서 ì´ë¡ ì 으로 ë‚®ì€ ì„±ëŠ¥ì˜ ë””ë°”ì´ìŠ¤ ì—ì„œë„ ì¸ì¦ë°›ì€ 노드로 mwcì„ ì•„ë§ˆë„ ìž‘ë™ ì‹œí‚¬ 수 있ì„것 입니다. 예를 들ìžë©´ ë¼ì¦ˆë² 리 íŒŒì´ ê°™ì€ x96 ë¦¬ëˆ…ìŠ¤í”Œëž«í¼ ìœ„ì—ì„œ `mwc` í¬ë¡œìŠ¤ 컴파ì¼ì„ í•˜ê³ ARM ë°”ì´ë„ˆë¦ë¥¼ 만ë“니다. ## Mwc 사용하기 [지갑 ìœ ì € ê°€ì´ë“œ](https://github.com/mimblewimble/docs/wiki/Wallet-User-Guide) 위키페ì´ì§€ì™€ ë§í¬ëœ 페ì´ì§€ë“¤ì€ ì–´ë–¤ Feature 를 ê°€ì§€ê³ ìžˆëŠ”ì§€ , 트러블 슈팅 ë“±ë“±ì— ëŒ€í•œ 좀 ë” ë§Žì€ ì •ë³´ë¥¼ ê°€ì§€ê³ ìžˆìŠµë‹ˆë‹¤. ## Mwc 채굴하기 Mwcì˜ ëª¨ë“ ë§ˆì´ë‹ ê¸°ëŠ¥ì€ ë¶„ë¦¬ëœ ë…ëží˜• íŒ¨í‚¤ì§€ì¸ [mwc-miner](https://github.com/mwcproject/mwc-node-miner)ë¡œ 옮겨졌습니다. ì¼ë‹¨ Mwc 노드가 실행ë˜ë©´ ì‹¤í–‰ì¤‘ì¸ ë…¸ë“œì— ëŒ€í•´ mwc-miner를 ë¹Œë“œí•˜ê³ ì‹¤í–‰í•˜ì—¬ 마ì´ë‹ì„ ì‹œìž‘í• ìˆ˜ 있습니다. mwc-minerê°€ mwc 노드와 í†µì‹ í• ìˆ˜ 있게 í•˜ë ¤ë©´, `mwc-server.toml` ì„¤ì • 파ì¼ì—ì„œ`enable_stratum_server = true`ê°€ ì„¤ì •ë˜ì–´ 있는지 확ì¸í•˜ì„¸ìš”. ê·¸ ë‹¤ìŒ Wallet listenerì¸ `mwc-wallet listen` ëª…ë ¹ì–´ë¥¼ 실행하세요 .