ブロックチェーンの中身がわかる!ローカル環境でブロックチェーンが動かせるFRPA箱庭システム

1イーサリアムブロックチェーンとは

- Ethereum -イーサリアム

イーサリアムはビットコインに次ぐ時価総額を誇る仮想通貨として有名ですが、仮想通貨のイーサリアム(ETH)はそのトークンに過ぎません。
イーサリアムはもともとスマートコントラクトを使用したオープンソースのブロックチェーンアプリケーション開発プラットフォームであり、このプラットフォームを利用した数多くの業務用アプリケーションが生まれています。

about_01

- Ethereum Blockchain -イーサリアムブロックチェーン

近年、ブロックチェーン技術を活用した分散型アプリケーション (DApps)が注目されています。イーサリアムブロックチェーンは、スマートコントラクトが「契約の自動化」をブロックチェーンで実現し、データをブロックチェーンに書き込むことができる柔軟性を備えていることから、DAppsへの応用が広まっています。

about_02

- contract -コントラクト

コントラクトは「契約」の意味ですが、イーサリアムブロックチェーン上で動く「マクロ」のようなものです。コントラクトを記述するための言語はいくつかありますが、現在の主流は「Solidity」(ソリディティ)という言語です。SolidityコンパイラはSolidity言語で書かれたソースをコンパイルしてマシン語を生成します。※マクロとは、複雑なコンピュータの操作を自動化するための技術をいいます。(例:Microsoft社Excelマクロ機能等)

about_03

- consensus -コンセンサス

コンセンサスは「合意」という意味で、ブロック生成に関する合意形成アルゴリズムのことです。管理者不在のブロックチェーンでは、不正なブロックを是正するために考えられたコンセンサスアルゴリズムが存在し、そのアルゴリズムにより不正なデータ改ざんを回避しています。イーサリアムのコンセンサスアルゴリズムについては、商品購入後、学習の手引きをご覧ください。

about_04

- Original cryptocurrency ・ Unique token -独自仮想通貨・独自トークン

コントラクトを利用することで、イーサリアムとは別の独自仮想通貨を作りだすことができます。独自仮想通貨ではコイン残高を管理する仕組みをコントラクトで作り、それをデプロイしてアカウントアドレス(ウォレット)ごとに残高を管理します。ただし、独自仮想通貨として認められるためには、独自のコンセンサスを要し取引所に上場する必要があり、未上場またはイーサリアムのコンセンサスを利用しているものは「トークン」という呼び方をします。

about_05

2本商品でできること

  1. イーサリアムブロックチェーンの中身が見える!
  2. コントラクトを自分で作成できる!
  3. コンセンサスを変えて動作を確認できる!
  4. 送金機能や換算機も搭載され便利!

① イーサリアムブロックチェーンの中身が見える!

ブロックリスト、ブロックの内容、トランザクションの内容、ウォレット残高が一目瞭然!

ブロックリスト
ブロックの発生履歴がわかります。
ブロックの内容
ブロックにどんなトランザクションが入っているかわかります。
トランザクションの内容
トランザクションの詳細を表示できます。
ウォレット残高
リアルタイムの残高表示ですぐ結果がわかります。
graph_01
graph_02
graph_03

② コントラクトを自分で作成できる!

まずは6つのサンプルのコントラクトを選択して、デプロイからトランザクションの実行まで行える!

Hello World
「Hello, World!」という文言を返すだけの単純な機能
四則演算
2つの整数の足し算、引き算、掛け算、割り算を行う機能
おみくじ
実行するタイミングによってランダムに結果を返す機能
総和・総積
指定された値nについて、1からnまでの整数の総和または総積を求める機能
Person
内部状態として「名前」と「年齢」を持ち、その情報を基に自己紹介する機能
寄付
募金を行う機能
graph_04

Solidityで作った自作コントラクトの動作を確認できる!(例題もあるので簡単に作れます)

③ コンセンサスを変えて動作を確認できる!

4つのコンセンサスから選んで実行!

なし
コンセンサスが無い状態です。
宝くじ
ランダムに5トークンが配当されます。
数値
指定された数値が3,4,5,7で割り切れる場合、値に応じたトークンが配当されます。
回文
指定された文字列が回文である場合、その長さに応じたトークンが配当されます。
graph_05

独自トークンの作成も可能!
( コンセンサスはファイルのバックアップをした上で、自己責任の元、編集することが可能です。)

④ 送金機能や換算機も搭載され便利!

手動送金の他、自動ランダム送金でトランザクションを発生させられる!
換算機(Wei→Ether)で単位変換も容易にわかる!

graph_06
  1. ユーザーを選んで送金の実験!
  2. 送金結果を視覚的に確認
  3. ブロックチェーンに保持される 詳細データも見られる!

3動作環境・セットアップ

動作環境

端末
Windowsが動作するパソコン(PC/AT互換機)
OS
Windows10 ※Editionはいずれも可 ※64ビットOS
CPU
Intel Core-i5-6500 3GHz 相当のCPU ※64ビット
メモリ
8GB以上 ※16GB推奨
HDD
50GB以上
ブラウザ
Google Chrome 68.0以降, Mozilla FireFox 61.0以降
  • ※Microsoft Edgeでも動作しますがテキストエリアが広げられないなどの問題があります。ChromeまたはFireFoxをお勧めします。
  • ※Microsoft InternetExplorerでは動作しません。
  • ※ブラウザのサイズは1400x900程度以上を推奨いたします。
その他
Oracle VM VirtualBox が動作する環境であること
備考
本ツールを動作させるためにはOracle社の「Oracle VM VirtualBox」が必要です。ご用意ください。なお、インストーラのファイルサイズが110MB程度、インストール後のファイルサイズが180MB程度です。仮想マシンのファイルサイズは8GB程度です。

セットアップ(※詳細は商品購入後、取扱説明書をご覧ください)

1. 「Oracle VM VirtualBox」インストール
以下のサイトからダウンロードします。
Oracle VM VirtualBox - Downloads | Oracle Technology Network | Oracle
https://www.oracle.com/technetwork/server-storage/virtualbox/downloads/
2. 仮想マシンファイルの設置
任意の場所にフォルダを作成します。
3. 仮想マシンの登録
Oracle VM VirtualBox マネージャーを起動します。
仮想マシンを追加し、「箱庭システム.vbox」を選択・追加します。
4. 起動
Oracle VM VirtualBox マネージャーを起動し、「箱庭システム」を選択・起動します。
立ち上がったLinuxにログインし、本ツールを起動します。
ホストOSよりブラウザを起動し、http://(ゲストOSのIP):3000のURLをリクエストすれば、
メイン画面が表示されます。作業をする際には、
TeraTermなどの端末エミュレータからの接続をお勧めしています。

4付属品(電子媒体)※日本語版と英語版があります

操作説明書
内容- P -
1. ご注意3
2. セットアップ4
 2.1. 「Oracle VM VirtualBox」インストール4
 2.2. 仮想マシンファイルの設置4
 2.3. 仮想マシンの登録5
3. 起動7
 3.1. 仮想マシンの起動7
 3.2. ログイン10
 3.3. IPアドレスの確認10
 3.4. 本ツールの起動11
 3.5. 本ツールのUIの表示12
 3.6. TeraTermでの接続13
4. 操作方法15
 4.1. メイン画面15
 4.2. コントラクト選択ダイアログ25
 4.3. コントラクトエディタ画面28
 4.4. 配置済みコントラクト一覧画面30
 4.5. 配置済みコントラクト詳細画面32
 4.6. コンセンサス選択ダイアログ35
 4.7. コンセンサス実行画面37
 4.8. コントロールパネルダイアログ39
 4.9. 換算機44
5. こんなときは45
学習の手引き
内容- P -
1. はじめに3
2. 基本のおさらい4
 2.1. ブロックチェーンについて4
  2.1.1. ブロックチェーンとはなにか4
  2.1.2. DBとの違い5
  2.1.3. コンセンサスアルゴリズム6
 2.2. イーサリアムについて7
 2.3. コントラクトについて8
  2.3.1. コントラクトとは8
  2.3.2. コントラクトを利用して独自仮想通貨をつくる8
3. 本ツールについて10
4. うごかしてみる12
 4.1. 送金の実行12
 4.2. コントラクトの実行16
  4.2.1. ソースの確認16
  4.2.2. デプロイ20
  4.2.3. コントラクトの実行23
      ※ガス代について39
 4.3. コンセンサスの実行56
  4.3.1. 選択56
  4.3.2. 実行58
  4.3.3. コンセンサスのソースの確認60
5. つくってみる67
 5.1. コントラクトの編集と実行67
 5.2. コントラクトの新規作成と実行69
 5.3. コンセンサスの編集と実行78
6. おわりに79
7. 付録80
 7.1. 設定の変更80
 7.2. 本ツールを使わずに手動でコントラクトをデプロイする81
 7.3. 本ツールのソースを見る87
 7.4. 演習問題の解答例88
参照文献

PAGE TOP