この文章を他の言語で読む: 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
を実行
- rustをインストール済みの場合は
- 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
を付ける)。
しかし暗号の計算のオーバーヘッドが大きく、高速同期が著しく遅くなる。
ビルドの成果物
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 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で実行することも可能。
機能やトラブルシューティングなどに関するより多くの情報についてはWallet User Guide。
mwcのマイニングに関する全ての機能はmwc-minerと呼ばれるスタンドアローンなパッケージに分離されていることに注意。
mwc-minerをmwcノードと通信させるためには、mwc-server.toml
の設定ファイルでenable_stratum_server = true
と設定し、ウォレットリスナーを起動(mwc-wallet listen
)しておく必要がある。