第1回 Move言語とは何か

第1回 Move言語とは何か

Libraに関するセミナーのご依頼、その他ブロックチェーンに関するコンサルティングのお問い合わせはこちらからお願いいたします。(ページ右下の「サポート」をクリック)
連載全5回のインデックスはこちら

Moveとは

Moveは、Libraブロックチェーンに独自の取引ロジックやスマートコントラクトを実装するための新しいプログラミング言語です。
安全性とセキュリティを最優先に設計されていて、例えばアカウントが持つ資産(リソース)を不正にコピーできないようにしたり、リソースの使用を所有者に限定する、といった機能を言語レベル(コンパイラやランタイムによるチェック)で提供しています。
Move言語で書かれたソースコードは、Move IR(Move intermediate representation)とも呼ばれ、コンパイラによってバイトコードに変換され、MVM(Move Virtual Machine)と呼ばれる仮想マシン上で実行されます。

特長

Move言語には以下のような特長があります。
  • 取引ロジックとスマートコントラクトを分離するために、トランザクションスクリプトとモジュールに分割されている。
  • Libra自体がRust言語で作られていることもあり、Move言語もRustの文法に似ている。
  • コンパイラによって、文法だけでなく、リソースの複製や再利用、破棄などのロジックに対してもチェックされる。
  • eventによるトランザクション制御やGasによる実行制御の機能があり、Ethereumのスマートコントラクトと似ている。

Moveを動かしてみる

セットアップ

Moveは、LibraのソースコードをGitHubからクローンして、セットアップすることですぐに動かすことができます。以下にその手順をご紹介します。なお、LibraのGitHubは日々コミットがされ続けており、今回は、執筆時点のソースコード(コミット番号 502936fbd59e35276e2cf455532b143796d68a16)で動作確認していますが、将来変更となる場合もありますので、ご了承ください。

1.LinuxやmacOS等のOSを準備します。
筆者は、Ubuntu Server 18.04.2 LTS で試しました。メモリはセットアップ時に多く消費するため、最低でも4GB程度あると良いと思います。

2.Libraを動かすためのRustをインストールします。
Libraのセットアップ時にインストールされるパッケージ群の中にもRustがあるのですが、筆者が試したところ、その後のMoveの実行に失敗してしまったため、Rustは予めインストールされておくことをお奨めします。

インストールが終了したらシェルを再起動します。
$ curl https://sh.rustup.rs -sSf | sh
$ exec $SHELL -l

3.LibraのソースコードをGitHubからクローンします。
$ git clone https://github.com/libra/libra.git

4.Libraのセットアップを行います。 セットアップを開始すると、依存関係のあるパッケージ群も一緒にインストールするかと聞かれるので、Yを選択します。ソースのビルド等も一緒に実施するため、完了までに少し時間がかかります。
$ cd libra
$ ./scripts/dev_setup.sh

これでMoveを動かす準備は整いました。

テストの実行方法

Moveで作ったスマートコントラクトをテストネットで動かしてみたいところですが、執筆時点では、テストネットへスマートコントラクトをデプロイすることはサポートされていないようです。そのため、ローカル環境でテスト実行することで動作確認を行います。
サンプルプログラムを使ってテストを実行してみます。
$ cd libra
$ ./scripts/dev_setup.sh
※初回の起動時は、テストの実行に必要なパッケージをダウンロードしてビルドするため時間がかかります。
最後までテストが実行され、
test result: ok. 245 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
という結果が出力されたら完了です。

終わりに

Moveに関するドキュメント

Moveについて記載されているドキュメントは、公式ドキュメントの以下が参考になります。

まとめ

Libraの新しいプログラミング言語Moveについて紹介し、セットアップとテストを実行するまでを行いました。

セットアップが簡単ですぐに実行できるので、ぜひ試してみてほしいです。

次回は独自のプログラムを書くことに挑戦してみたいと思います。
     

免責事項

本記事に掲載されている記事の内容につきましては、正しい情報を提供することに務めてはおりますが、提供している記事の内容及び参考資料からいかなる損失や損害などの被害が発生したとしても、弊社では責任を負いかねます。実施される際には、法律事務所にご相談ください。

技術・サービス・実装方法等のレビュー、その他解説・分析・意見につきましてはblock-chani.jp運営者の個人的見解です。正確性・正当性を保証するものではありません。本記事掲載の記事内容のご利用は読者様個人の判断により自己責任でお願いいたします。

     

コンセンサス・ベイス(株)とブロックチェーン事業を行なってみませんか?

当サイトを運営するコンセンサス・ベイス株式会社は、2015年設立の国内で最も古いブロックチェーン専門企業です。これまでに、大手企業の顧客を中心に、日本トップクラスのブロックチェーンの開発・コンサルティング実績があります。

ブロックチェーンに関わるビジネスコンサル・システム開発・教育・講演などご希望でしたら、お気軽にお問い合わせください。

     
     

ブロックチェーン学習に最適の書籍の紹介

図解即戦力 ブロックチェーンのしくみと開発がこれ1冊でしっかりわかる教科書

ブロックチェーン イーサリアムへの入り口 第二版 (ブロックチェーン技術書籍)

本書は、ブロックチェーン技術に興味を持ったエンジニアや、その仕組みを学び、自分の仕事に活かしたいビジネスパーソンを対象にして、ブロックチェーンのコア技術とネットワーク維持の仕組みを平易な言葉で解説しています。この本を読んだうえで、実際にコードを書くような専門書、ブロックチェーンビジネスの解説書を読むことで、理解度が飛躍的に高まるでしょう。(はじめにより)

リブラ(Libra)カテゴリの最新記事