第3回 Move言語でLibraコインを送金するプログラムを作成する

第3回 Move言語でLibraコインを送金するプログラムを作成する

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

実践的なプログラムの作成①

今回は実践的なプログラムとして、Libraブロックチェーンが提供する標準のコイン(Libraコイン)を送金するプログラムを作成してみます。

標準ライブラリについて

Moveにはいくつかの標準ライブラリが提供されており、
libra/language/stdlib/modules
にソースコードが配置されています。

今回はこの中でも、「LibraAccount」モジュールを使って、二者間で送金するプログラムを作成します。
LibraAccountモジュールには、withdraw_from_sender関数(コインの引出し)やbalance関数(残高確認)など、アカウントに対する操作を行う機能が提供されています。

送金プログラム

import 0x0.LibraAccount;
main() {
 
  let alice_address: address;
  let bob_address: address;
  let alice_initial_balance: u64;
  let alice_balance: u64;
  let bob_balance: u64;
 
  alice_address = get_txn_sender();
  bob_address = 0xb0b;
 
  alice_initial_balance = LibraAccount.balance(copy(alice_address));
 
  LibraAccount.pay_from_sender(copy(bob_address), 100);
 
  alice_balance = LibraAccount.balance(copy(alice_address));
  bob_balance = LibraAccount.balance(copy(bob_address));
 
  assert(copy(alice_balance) == copy(alice_initial_balance) - 100, 99);
  assert(copy(bob_balance) == 100, 99);
 
  return;
}
送金はアリスからボブに行うという想定で、アリスのアドレスはこのトランザクションの実行者として、get_txn_sender()関数を用いて取得を行っています。
送金元のアリスの最初の残高を変数 alice_initial_balance に保存しておき、pay_from_sender()関数で、ボブに対して100Libraコインを送金します。
送金後の残高を取得して、アリスは100Libraコインが減っていること、ボブは100Libraコイン増えていることを確認しています。

このプログラムのテストを実行すると、
test functional_tests::libra_coin_transfer/libra_coin_transfer.mvir ... ok
となり、送金処理が行われていることが確認できました。

まとめ

実践的なプログラムということで、Libraコインを送金するプログラムを作成してみました。
標準ライブラリを使うと、モジュールを独自に用意しなくてもトランザクションスクリプトのみで、送金処理を実行することができました。

次回はより実践的なプログラムの作成として、EthereumのERC20のようなプログラムを作成することができるかどうか挑戦してみます。
     

免責事項

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

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

     

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

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

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

     
     

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

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

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

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

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