見出し画像

miyabi GUI チュートリアル

miyabiは処理速度に優れ、複合トランザクション、BFK2、コンパイル付きスマートコントラクトなどを備えた先進的なブロックチェーンです。

miyabi プレイグラウンドとは

miyabiを利用するためにはサーバ環境と接続するためのクライアント環境が必要ですが、より簡単にmiyabiを試して頂けるようトライアル環境をご用意しました。これをプレイグラウンドと呼びます。

miyabi への接続方法

クライアント環境から以下の3つの方法でmiyabiを利用できます。

① SDKを使ってAPIを呼び出す
② CLIを使ってコマンドラインからmiyabiを利用する
③ GUIを使ってmiyabiの一部の機能を使ってみる

画像1

本チュートリアルでは、③ GUIのTrial Modeでmiyabiを使う方法を説明します。(Modeについては後述します)
本来なら接続先のmiyabiのサーバを指定する必要がありますが、今回ご紹介するmiyabi GUIは最初からプレイグラウンドに接続しているため不要です。

また、miyabiを操作するためには権限が必要ですが、Trial Modeではあらかじめ必要な権限が設定されているため、Webからすぐにご利用いただけます。

miyabi GUIへのアクセス方法

miyabiのブランドサイト上にある[miyabiを体験]ボタンを押すと、利用規約のページに遷移します。

画像2

画像3

利用規約に同意して利用開始]を押すと、”miyabi Manager”というmiyabi GUIのログイン画面が表示されます。

画像6

miyabi GUIには以下の2つのモードが存在します。①、②に機能的な差異はありません。
 ① 各ユーザ固有の秘密鍵を利用するLogin Mode(要申込)
 ② 全ユーザ共通の秘密鍵で利用するTrial Mode

GUI での秘密鍵は、主にテーブルの作成、データの更新に利用します。
Trial Modeを選択した場合、テーブルの作成、データの更新などが、Trial Modeを選択した全てのユーザにて行えるようになります。

本チュートリアルでは申込不要で使用可能な②のTrial Modeを説明します。もし固有の秘密鍵で試したい方は、以下のボタンからお申込みください。

画像5

ログイン画面の右側にある[Trial Mode]のボタンを押すと、GUIのホーム画面に遷移します。これでmiyabi GUIの利用が可能になりました。
それでは早速、GUIを使っていきましょう。GUI画面の主な項目は以下の通りです。

図11

アセットテーブルの作成

まずはブロックチェーン上のデータを管理するためのテーブルを作成していきます。miyabiはKey-Valueストアのようなテーブル構造を持っています。GUIの画面左にテーブル一覧(白枠)が表示されています。

画像7

では、実際にテーブルを作成してみましょう。
テーブル一覧の下部にある[]ボタンを押すと、”Create Table”の画面が表示されます。

画像8

テーブルを作成するにはテーブルの型と名前を指定します。ここでは”Asset Table”の型を選択します。Asset Tableとは、コインやトークンを扱うためにカスタマイズされた、アセット管理専用のテーブルです。

テーブル名は任意の名前を指定できますが、1つだけ注意点があります。
テーブル名は過去に使用されたものと同じ名前を使用できません。miyabiはブロックチェーンであり、一度作られたデータは原則消すことができないためです。これはあなたが過去に作成したテーブルだけでなく、他のユーザが作成したテーブルも同様です。

本チュートリアルでは、”Tutorial Table”という名前で作成していきます。[Create]ボタンを押すとテーブルが作成されます。

画像16

Createボタンを押しても、その瞬間にはまだテーブルは作成されません。これはブロックチェーンの特徴によるもので、コマンドはすぐに実行されるのではなく、いったんトランザクションとしてmiyabiサーバに送信されます。その後、miyabiサーバがコンセンサスアルゴリズムを走らせることで「次のブロック」に含むべきトランザクション群を選び出します。首尾よくトランザクションが選ばれて初めてトランザクションは実行されます。なので、しばらく待ってみましょう。下の方に新しいブロックができるのが見えると思います。そして他のユーザが同じようなタイミングで実行していなければ、そのブロックにあなたが今作成したトランザクションが入っているはずです。

正常にブロックが生成されると、テーブル一覧に指定した名前のテーブルが作成されていることが確認できます。
これでアセットテーブルを作成することができました。テーブルをクリックするとテーブルの中身を確認することができますが、この時点ではテーブルの中身はまだ何もありません。

画像10

トークンの発行・送付

テーブルを作成できたので、トークンを発行(マイニング)していきます。

ビットコインではマイニングという行為を行うことで新たにコインを発生させます。miyabiでも同様にマイニングをして新たなトークンを生み出す必要があります。なぜならmiyabiのアセットテーブルは厳密に残高管理がされ、トークンは「移動すること」しかできないからです。先ほど見たように空っぽのテーブルをもとにしている限り一切の移動はできません。

マイニング権限はテーブルごとに設定します。本来はテーブル作成時に設定しますが、これはチュートリアルのため最初にGUIにログインするときに指定した権限が設定されています。そのため、新たにトークンを発行することができます。
マイニングするにはそのトークンの送り先を指定しないといけません。ビットコインアドレスのようなものですが、miyabiでは公開鍵をアドレスとして利用しています。公開鍵とは秘密鍵とペアになるもので、いわばIDとパスワードの関係です。公開鍵がIDで秘密鍵がパスワードです。

先程作成したテーブルの中にある[Generate asset]ボタンを押してください。すると、”Generate asset”の画面が表示されます。ここではAmount(数量)とトークン送付先の公開鍵を入力します。公開鍵は最初から特定の鍵が入力されていますが、Otherを選択して他の宛先に送付することもできます。
今回はAmountを10000、送付先は最初から入力されているものを使います。

画像11

Generate]ボタンを押してブロックが生成されると、Tutorial Tableの中に送付先の公開鍵とAmountで指定した数量が表示されていることが確認できます。

画像12

今度は作成したトークンを別の宛先に送付してみましょう。

一般的に、ブロックチェーンでは公開鍵でアカウントを表現します。その公開鍵に対応する秘密鍵を持っている(知っている)人がそのアカウントの所有者であるという考えに基づいています。ですので、先ほどトークンを生成したときにはあなたの秘密鍵に対応する公開鍵のアドレスにトークンが送られたのでした。
このトークンはあなたの公開鍵のアドレスに紐付いており、あなたの秘密鍵なしには動かすことができません。(Trial Modeの場合は、全ユーザ共通の秘密鍵を使用するので、あなたが Generateしたトークンを他のユーザに操作されてしまう可能性があるのでご注意ください。)これから行うトークンの送付には、その秘密鍵が必要です。正確にはその秘密鍵によって送金トランザクションに電子署名をする必要があります。
送金トランザクションに署名することで
 ① それがあなたの意志であること
 ② 送金額や送金先が改ざんされていないこと
の両方を証明できます。これがブロックチェーンの大きなメリットの一つです。ブロックチェーンで行われる送金トランザクションは運営者といえども改ざん、捏造することはできません。また、正当なトークンの所有者の許可なしに移動することもできません。

テーブル画面内にある[Move asset]を押すと、"Move asset"画面が表示されます。ここでは送付するAmountと送付先の公開鍵を入力します。
今度はOtherを選択し、新たな宛先に送付してみましょう。Generate addressで生成された新規の公開鍵アドレス宛に、Amountを50と入力して送付してみます。

画像13

これまで同様、新規にブロックが生成されると、Tutorial Tableに反映されます。先程指定した公開鍵アドレスに50トークンが移動され、送付元の公開鍵アドレスのトークンが10000から9950に減っていることが確認できました。

画像14

なお、あなたが持っている以上の残高を移動させようとすると失敗します。この失敗は「」というmiyabiの一番コアの場所で判定されています。これはSDKやスマートコントラクトを使った場合でも同様です。この特徴により、miyabiではプログラムのバグや悪意のあるプログラムによる権限外の行為を防ぐことができます。これもmiyabiの大きな特徴となります。

さらなる応用

ここまででGUI上からブロックチェーンを用いてテーブルの作成からトークンの生成、送付までの一連の流れを試すことができました。CLIを用いて同様の流れを実施した記事もありますので、比較してみるとより簡単になっていることがわかると思います。

GUI上ではチュートリアルで触れた内容の他にもEntity TableやNFT Tableといった機能を利用することもできます。また、チュートリアルを終えてもっとmiyabiのことを知りたくなった方や、実際にmiyabiを利用することを検討される方へ次のステップをご紹介します。

miyabi マニュアル
https://blockchain.bitflyer.com/miyabi/manual

① ユーザーマニュアル
チュートリアルでは説明しなかった複合トランザクションやスマートコントラクト、AssetTable以外のテーブルなど、miyabiの全体像を学べます。

② APIマニュアル
SDKを使うことでmiyabiのすべての機能を利用することができます。

③ CLIマニュアル
miyabiを運用するときの管理ツールとしてCLIを用意しています。CLIはSDKほどではないですが、miyabiのほぼすべての機能にコマンドラインからアクセスすることができます。トランザクションの発行やトランザクションの状態を確認することができます。

CLIについては、GUI画面の右上の[CLI]ボタンからも利用できます。CLI画面の上部にコマンドを入力して実行すると、Result部分に結果が表示されます。もっと色々試したいという方はぜひ触ってみてください。

画像15

また、チュートリアル冒頭でも触れましたが、固有の秘密鍵を利用して試したい方は、ぜひプレイグラウンドにお申込みください。申込者向けにSlackのユーザグループもご案内しています。

画像16

「こんな使い方をしてみた!」「こんな機能も欲しい!」など、皆さまからのご意見やご感想も募集していますので、ぜひお聞かせください。

いいなと思ったら応援しよう!