Skip to content

Latest commit

 

History

History
129 lines (85 loc) · 4.95 KB

build_JP.md

File metadata and controls

129 lines (85 loc) · 4.95 KB

mwc - ビルド、設定、動作確認

この文章を他の言語で読む: English, Español, Korean, 简体中文.

動作環境

mwcのプログラミング言語であるrustはほぼ全ての環境に対応している。

現在の動作環境

  • Linux x86_64とmacOS [mwc、マイニング、開発]
  • Windows 10は未対応 [一部のビルドはできるがマイニングがまだ。助けを募集中!]

要件

  • rust 1.34+ (rustupを使えばcurl https://sh.rustup.rs -sSf | sh; source $HOME/.cargo/envでインストール可)
    • rustをインストール済みの場合はrustup updateを実行
  • clang
  • ncursesとそのライブラリ (ncurses, ncursesw5)
  • zlibとそのライブラリ (zlib1g-dev または zlib-devel)
  • pkg-config
  • libssl-dev
  • linux-headers (Alpine linuxでは必要)
  • llvm

Debianベースのディストリビューション(Debian、Ubuntu、Mintなど)ではrustを除き1コマンドでインストールできる:

apt install build-essential cmake git libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev pkg-config libssl-dev llvm

Mac:

xcode-select --install
brew install --with-toolchain llvm
brew install pkg-config
brew install openssl

ビルド手順

git clone https://github.com/mwcproject/mwc-node.git
cd mwc-node
cargo build --release

mwcはデバッグモードでもビルド可能(--releaseを付けない状態で、--debug--verboseを付ける)。 しかし暗号の計算のオーバーヘッドが大きく、高速同期が著しく遅くなる。

ビルドエラー

Troubleshooting

何がビルドされるか

ビルドの成果物

  • target/release/mwc - mwcの実行ファイル

mwcのデータ、設定ファイル、ログファイルはデフォルトでは(ホームディレクトリ配下の)~/.mwcのディレクトリに格納されている。 全ての設定値は~/.mwc/main/mwc-server.tomlを編集することで変更可能。

データファイルをカレントディレクトリに出力することも可能。 そのためには以下のコマンドを実行。

mwc server config

カレントディレクトリにmwc-server.tomlがある場合、カレントディレクトリにデータが出力される。 mwcをmwc-server.tomlを含むディレクトリで起動する場合、デフォルトである~/.mwc/main/mwc-server.tomlよりも優先される。

テスト中はmwcのバイナリにpathを通す:

export PATH=`pwd`/target/release:$PATH

ただし、mwcをインストールしたルートディレクトリから実行することを想定している。

これによりmwcが直接実行可能になる(オプションはmwc helpで調べられる)。

設定

mwcは気の利いたデフォルト設定で起動するようになっており、さらにmwc-server.tomlのファイルを通じて設定可能。 このファイルはmwcの初回起動で作成され、利用可能なオプションに関するドキュメントを含んでいる。

mwc-server.tomlを通じて設定することが推奨されるが、全ての設定はコマンドラインで上書きすることも可能。

コマンドライン関連のヘルプについてはこちらを実行:

mwc help
mwc server --help
mwc client --help

Docker

docker build -t mwc -f etc/Dockerfile .

floonetを使用する場合、代わりにetc/Dockerfile.floonetを指定。

コンテナ内で実行する場合、mwcのキャッシュをバインドマウントすることも可能。

docker run -it -d -v $HOME/.mwc:/root/.mwc mwc

dockerの名前付きボリュームを使用する場合、代わりに-v dotmwc:/root/.mwcを指定。 ボリュームが作成される前に、名前付きボリュームがコピーされる。

クロスプラットフォームビルド

rust(cargo)はあらゆるプラットフォームでビルド可能なので、mwcをバリデーションノードとして省電力なデバイスで実行することも可能である。 x86のLinux上でmwcをクロスコンパイルしARMバイナリを作成し、Raspberry Piで実行することも可能。

mwcの使用

機能やトラブルシューティングなどに関するより多くの情報についてはWallet User Guide

mwcのマイニング

mwcのマイニングに関する全ての機能はmwc-minerと呼ばれるスタンドアローンなパッケージに分離されていることに注意。

mwc-minerをmwcノードと通信させるためには、mwc-server.tomlの設定ファイルでenable_stratum_server = trueと設定し、ウォレットリスナーを起動(mwc-wallet listen)しておく必要がある。