Yumeville

Windowsへのインストール

開発ツールのインストール

Holochainインストールガイドへようこそ!
このページはWindows用のインストールページになります。
さあ、前回に比べて大幅にインストール手順を簡単にするために、
ホロチェーンアプリやホロチェーン自体を開発するためにNixOS を使用することになりました!

動作環境

ハードウェア

  • 8GB+ RAM (16GB推奨)
  • 4+ CPU (6+ CPU推奨)
  • 30GB+ 空きスペース
  • インターネット接続

事前インストール必要なソフトウェア

重要事項
ホロチェーン開発ではWindowsにしろ、Macにしろ、Linuxにしろ同等のツールを使用しています。しかし、残念ながらNixOSツールは現在MacとLinuxでしかネイティブに稼働しません。

しかし、これはずっとこのままであるわけでもありません。
Windows用のNixOSは現在開発中です!

ですので、Windows用のNixOSが完成するまでの対処法として、仮想マシンを使っていくことになります。この一連のプロセスはローカルウェブサーバーを使用する方法と似ています。ホロチェーンに最適なオプションとしてDockerVagrantがあります。
オフィシャルNixOSボックスでカスタムセットアップを作成するのはさほど難しいことではないので安心してください。

こちらのガイドではVagrant/VirtualBoxで NixOSを使用する手順を説明していきます。

注:これらのコマンドはすべて、Windows PowerShell 2.0以降を想定しています。
基本的なプロセスはすべてのシステム上で同じです。

まずは、新しいフォルダーを作成します。

mkdir holochain-vagrant

そして新しいフォルダーに移動します。

cd holochain-vagrant

次に、Holochain用に最適化された基本的なVagrantファイルをコピーします。

wget https://gist.githubusercontent.com/thedavidmeister/8e92696538fe04cf6b44552e14d29195/raw/4dcb83b983e8dcd2f5db213b0cde5a533af556a6/Vagrantfile -outfile Vagrantfile

ボックスをダウンロードし起動しましょう。

vagrant up

vagrantボックスをプロジェクト用にブートします。

vagrant halt

sshでボックス内に入りましょう。

vagrant ssh

現在のターミナルでプロジェクト用のvagrantボックスにログインします。

次に、共有フォルダーに移動ましょう。

cd /vagrant

正しくインストールされたことを以下のコマンドで確認しましょう。

nix-env --version

次のように表示されれば正常にインストールされたことになります。

nix-env (Nix) 2.2.2

NixOS及びHolochainがNixOSを使用している理由について詳しく知りたい場合は、こちらでNixに関する情報をご覧ください。

Windows / Vagrantのセットアップについて詳しく知りたい場合は、こちらで情報を見つけることができます。

ホロチェーンツールのインストール

Nixをインストールしたら、正しいRustバージョンとHolochainツールを含むすべての必要なツールを含んだ開発シェルを実行できます。このシェルは、現在の読者のRustインストールには干渉しないので安心してください。以下のコマンドを実行してみてください。

nix-shell https://holochain.love

このコマンドを初めて実行すると、ダウンロードとビルドに時間がかかりますが、次回に実行からはより早くなります。このコマンドが完了すると、以下の文字列で始まる新しいプロンプトが表示されるはずです。

[nix-shell:

以下の2つのコマンドを実行して、Holochainが正常に機能していることをテストしましょう。

[nix-shell:hc –version [nix-shell:holochain –version

次のように表示されるはずです。

[nix-shell: hc 0.0.29-alpha2
[nix-shell: holochain 0.0.29-alpha2

更新/アンインストール

nix-shellを使用ているので、更新やアンインストールについて心配する必要はありません。nix-shellに入ると、すべてが最新リリースのツールに自動的にになり、シェルを終了すると使っていたツールがクリーンアップされます。

エディター

ほとんどの場合、通常どおり読者が使用しているエディターを使用できます。ただし、Holochainの依存関係(dependencies)と通信する必要がある統合開発環境(IDE)を使用している場合は、nix-shell内からそのIDEを起動する必要があります。

これを行うには、nix-shellで次のようにエディターを開きます。

[nix-shell:vim my_file.rs

最初のホロチェーンアプリ

hcツールを使用すれば、基本的なホロチェーンアプリの骨格が生成できるようになります。
hcはnix-shell及びnix-envでインストールできます。

新たなホロチェーンアプリを生成するコマンドは”hc init “です。
“my_first_app”の名前で新しいアプリを作りましょう。
以下のコマンドを実行してください。

hc init my_first_app

注: 次のエラーが出た場合Error: directory is not empty、my_first_appディレクトリが既に存在しているということなので、rm -fr my_first_appコマンドを実行して削除しましょう。

ホロチェーンアプリの基本的な骨格が”my_first_app”の中に格納されるはずです。
ファイルブラウザか好みのテキストエディタで内容を確認しましょう。

尚、内容が確認出来たら、ホロチェーンアプリの味噌である”zome”を生成してみましょう。
“zome”とは、俗に言うソースであり、読者が開発するホロチェーンアプリのソースコードに当たります。

まずは、読者のターミナルを”my_first_app”フォルダに移しましょう。
このために、以下のコマンドを実行してください。

cd my_first_app

次にZomeを生成するために以下のコマンドを実行してください。

hc generate zomes/my_zome

プロジェクトフォルダの中で、nix-shellに入っていることが確認できるはずです。
以下のようにターミナルのプロンプトが表示されるはずです。

このコマンドにより、”zomes/my_zome”に”zome”を開発するにあたっての実際のRustコードが生成されます。
これで好みのテキストエディタを使ってホロチェーンアプリの開発が可能になります。

生成された”zome”らには、シンプルな自動テストスイートが含まれています。
こちらは、”my_first_app/test/index.js”の中に格納されています。
これらのテストスイートは以下のコマンドで実行できます。

hc test

hcツールについてもっと学びたい場合は、以下のコマンドを実行してください。

hc help

Rustで開発するにあたって:
ホロチェーンアプリを開発するにあたって読者がrust言語のエキスパートになる必要は全くありません。
Rust言語の基本的な概念が理解できていれば、ホロチェーンアプリの開発には十分でしょう。
例えば、並行性やメモリ管理などの概念はほとんど理解できていなくても大丈夫です。
こちらのRust book (日本語版)原本の翻訳版で初心者にも分かりやすく理解できるように書かれています。
しかし、そうは言ってもRustは低水準言語ですので、JavaScriptのようなスクリプ言語よりも冗長であることには変わりません。

次のステップ

さあ、どんどんP2Pアプリをホロチェーンで作っていきましょう!
ここから先は、弊社ウェブページのガイドブックやこちらのホロチェーン開発キットAPIリファレンス(ただ今翻訳中!)を参照にしてください。