Help us understand the problem. What is going on with this article?

Windows環境でUbuntu仮想環境を導入しブロックチェーンのコードパターンを試してみた

IBM が公開している Code Patterns はすごく参考になるのですが、Mac や Linux 環境を前提としたものもあり、Windows 環境で利用するには一手間、一工夫を要求される場合があります。ちょっと面倒です。

今回も Hyperledger Fabric を使用して、Web ベースのブロックチェーン対応の保険アプリケーションを構築する というパターンを試そうと思ったのですが、Windows 用のスクリプトが用意されていない状態。

というわけで、Winodws 上の仮想環境で Linux環境 (Ubuntu 18.04 LTS) を用意して、その上でいろいろ実行することを試してみました。仮想環境だと壊すことを恐れずガンガン試せるのも、良さそうですし!

Ubuntu 仮想環境の準備

【2018最新】VirtualBoxでUbuntu18.04の導入から設定まで詳しく解説 を参考に、仮想マシンのセットアップを実施しました。

私の環境は Windows 10 Home 64bit で、Docker Toolbox を 以前に導入済み だったので、VirtualBox は ver5.2.8 と少し古めですが、既に導入済みでした。

その上に仮想マシンを作成し、導入したのは、参考ページとほとんど同じ Ubuntu 18.04.2 LTS で、特に問題は無かったです。

※ HDD サイズを 12GB に設定しましたが、今回、サイズがギリギリでした。オフィスソフトなど不要なものを省くか、もう少し大きなサイズで作成しておくことをお勧めします

以下がインストールして、ソフトウェアアップデートをかけた直後の画面。念のため、この状態のスナップショットを取っておきます。
image.png

前提ソフトウェアの導入

今回のパターンで要求されている前提ソフトウェアは以下の通り。

  • Docker - v1.13 or higher
  • Docker Compose - v1.8 or higher
  • NPM - v5.6.0 or higher
  • nvm - v8.11.3 (use to download and set what node version you are using)
  • Node.js - node v8.11.3 ** don't install in SUDO mode
  • Git client - v 2.9.x or higher
  • Python - 2.7.x

私は Ubuntu をほとんど知らないので、ググりつつ、今回の Code Pattern に必要な前提ソフトウェアを導入してみました。Git はまあ普通に導入。

sudo apt-get update
sudo apt-get install git

Python はバージョン指定があったので、以下のように入れてみました。

sudo apt-get install python2.7
sudo ln /use/bin/python2.7 /use/bin/python

npm/Node.js はバージョン指定が面倒っぽく感じたので Ubuntu16.04で任意のバージョンのNode.jsをインストールする方法 ページを参考に、nvm は使わず n パッケージを利用。

sudo apt-get install nodejs npm
sudo npm install -g n
sudo n 8.11.3
sudo apt-get purge nodejs npm
suto apt-get autoremove

Docker と Docker Compose は Ubuntu 18.04にDockerをインストールする(+docker-composeも) をそのまま実行させていただき、無事に導入できました。

念のため、この段階でもスナップショットを取っておきましょう。

いよいよコードパターンの実行

準備に時間がかかりましたが、いよいよコードパターンの 日本語README を読みつつ、コードを実行していきます。Git のリポジトリをクローンして、スクリプトを実行。
image.png
うん、うまく動作したようですね。
image.png
自転車ショップでの注文トランザクションが実施され、ブロックチェーンにブロックが追加されています。
image.png
あとはコードを読んだり、ちょっと改造して試したり、これをベースに別のアプリケーションの開発を始めることもできますね。

というわけで!

仮想マシン環境で Ubuntu な Linux 環境を用意することで、Windows に対応していないサンプルコード(今回はIBMのコードパターン)を実行し、体験することができました。

主要な前提ソフトウェアを導入した状態で仮想マシンのスナップショットを取っておけば、普段使いの Windows 環境はそのままで、気軽にいろんなサンプルコードを試し、そして消すことができます。

【追記】仮想環境の構築部分をもう少し詳しくまとめてみました> 開発者向けイベント用に Ubuntu 仮想マシンを用意してみた

いろんなサンプルコードを試して、学んでいきましょう!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away