kharukaのブログ~お金と技術とキャリア~

Edu Fin~金融×教育~若いうちからお金について学ぶってだいじ!自分が学んだテクノロジーはみんなの財産!過去、今、将来の人生!についてのブログ

はじめてのスマートコントラクト言語 Scilla for Zilliqa Part 1(2018年11月3日更新)

ビットコインとブロックチェーン

ビットコインとブロックチェーン

1. Zilliqaとは?

Zilliqaとは拡張可能で安全な分散型アプリケーション(Dapps)を提供するためのブロックチェーンプラットホームです。

2. Scillaとは?

ScillaとはSmart Contract Intermediate-Level Languageの頭文字とったもので、

Zilliqa用に開発されている中間レベルのスマートコントラクト言語です。

3. スマートコントラクトとは?

スマートコントラクトとはひとことで言うと自動契約です。

自動販売などの例が良く挙げられますね。

なぜなら、

  1. 自動販売機にお金を支払う

  2. 欲しい商品を選択する

  3. 自動販売機から商品を受け取る

プロセスに商品提供者側の人の手が介入していない(プロセスが自動化されている)

取引(契約)が成立しているからです。

3.1. Ethereumにおけるスマートコントラクト

スマートコントラクトを実行するためのプラットフォーム

分散型アプリケーションを実行するためのプラットフォーム

4. Scilla IDEでScillaコードを実行してみよう

4.1. 以下のURLからScilla IDEにアクセス

https://savant-ide.zilliqa.com/

4.2. HelloWorld.scillaファイルをクリック

Scillaコードが書かれていますね。

難しそう?

詳細については、参考にリンクを貼っていますので

オフィシャルドキュメントを読みましょう!

f:id:kharuka2016:20181024015851p:plain

4.3. DEPLOYをクリック

f:id:kharuka2016:20181024015854p:plain

4.4. Select accountで一番上にあるowner account以外で使用されていなさそうなアカウント(Nonce:0など)を選択

この時、選択したアカウントやowner accountをメモしておくと後々の作業が楽です。

アカウントの右側にコピーアイコンがあるので、クリックするとアカウントがコピー出来ます。

f:id:kharuka2016:20181024015858p:plain

f:id:kharuka2016:20181024015901p:plain

4.5. Choose a scilla source fileでHelloWorld.scillaを選択します

f:id:kharuka2016:20181024015904p:plain

f:id:kharuka2016:20181024015907p:plain

4.6. Initialisation Parameters:にowner accountをペースト

f:id:kharuka2016:20181024015910p:plain

4.7. DEPLOYをクリック

f:id:kharuka2016:20181024015915p:plain

4.8. 以下の様に表示されることを確認

Your contract was successfully deplyed to
<contract>
Gas used: xxx
Gas price: xxx
Transaction cost: xxx ZIL

表示されたcontractをメモしておきましょう。

f:id:kharuka2016:20181024015921p:plain

4.9. DEPLOYを選択して、先ほど選択したaccountとdeployしたcontractを選択

f:id:kharuka2016:20181024015926p:plain

4.10. Select a transition for HelloWorldでset Helloを選択

HelloWorld.scillaでtransition(functionの方が馴染み深い?)が定義されています。

ご興味がある方はHelloWorld.scillaのコードを読んでみてください。

f:id:kharuka2016:20181024015929p:plain

4.11. Transition parameters:に任意のメッセージを入力し、CALL TRANSITIONをクリック

f:id:kharuka2016:20181024030142p:plain

f:id:kharuka2016:20181024030146p:plain

f:id:kharuka2016:20181024030150p:plain

4.12. set Hello transitionのcallに成功したか、また入力したメッセージがセットされたか確認

あれれー?

welcome_msgが""ですね?

f:id:kharuka2016:20181024030154p:plain

f:id:kharuka2016:20181024030159p:plain

CALLする時のaccountをowner accountにして再度試してみましょう。

今度はうまくいったみたいですね。

f:id:kharuka2016:20181024030203p:plain

setHello transitionのmatch is_owner withあたりのコードを読むと理由が分かると思いますよー。

Scilla IDEの使い方に慣れましたかね?

次回からは実際にScillaでコーディングをして行きましょう!

▼記事の続きは以下へ。

kharuka2016.hatenablog.com

ZIL募金受付中

この記事が少しでも皆様のお役に立てた様であれば、

ZIL募金よろしくお願いします!

Zilliqaアドレス

0x266713bF30F23bD2dd00d2EA107FBac103B76142

Zilliqa QRコード

f:id:kharuka2016:20181024004004j:plain

ビットコインとブロックチェーン

ビットコインとブロックチェーン

参考