Libra

(日本語訳) Chain Castle – Lesson 3 Chapter 1

Chapter 1 リソース 既存のブロックチェーンシステムにおいて、ビットコインは「通貨」をプログラムし、イーサリアムは「アプリケーション」をプログラムします。対して、LibraはResource(リソース)と名付けられた、通貨よりももっと複雑なアセットをプログラムします。 Moveはリソースへの操作を次の二つの制約に添う様に規制します。 希少性(scarcity):リソースのトータル量はユー...
Ethereum

ERC20準拠のEthereumトークンをローカル環境にデプロイする方法[ソースコード付き]

ERC20とは? 端的に言うと、ETHトークンの規格です。 特定のルールに則って作られた通貨とも言えるかと思います。 ICOに用いられる事が多く、6つの機能と2つのイベントを有している事が求められます。 6つの機能と2つのイベントは以下の通りです。 function totalSupply() constant returns (uint totalSupply); function balanc...
Libra

(日本語訳) Chain Castle – Lesson 2 Chapter 6

Chapter 6 城の設計を完了する チャプタ3で、どうやって構造体を定義するか学びました。ここでは、構造体をどうやって初期化するかmain()プロシージャでどの様に使っていくかについて学んでいきましょう。 次の図の様に、構造体を初期化するためのプロシージャを作ることがあります。このプロシージャは、同じモジュールで宣言されて初期化される必要があります。構造体を初期化するために使われるプロシージャ...
スポンサーリンク
Libra

(日本語訳) Chain Castle – Lesson 2 Chapter 5

Chapter 5 複数の戻り値があるプロシージャ チャプタ5では、プロシージャについて説明し、一つの戻り値があるプロシージャの使い方を示しました。しかし、多くのシナリオでは、この章で説明する様な複数の戻り値があるプロシージャを使う必要があります。 チャプタ5では、一つの戻り値があるプロシージャを次の様に定義しました。 public procedure name( parameter name 1...
Libra

(日本語訳) Chain Castle – Lesson 2 Chapter 4

Capter 4 演算子 前のセクションで、足し算や掛け算の様な、いくつかの基本的な算術演算子を使いました。このチャプタではMoveが実装している演算子についてより詳しく見ていきましょう。 現在、Moveは次の算術演算子を実装しています。「足す:+」「引く:-」「掛ける:*」「割る:/」「剰余演算:%」。以下はこれらを利用するサンプルです。 main() { let a: u64; ...
Libra

(日本語訳) Chain Castle – Lesson 2 Chapter 3

Chapter 3 構造体 ムーブの構造体は他の言語の構造体と同じ様に、同じ型か異なる型のデータのコレクションからなるデータセットです。struct name{data: type, data:type, …}という形で構造体を定義できます。例えば… module Test { // 空のstruct struct Empty1 { } // 二つのメンバーのあるstruct st...
Libra

(日本語訳) Chain Castle – Lesson 2 Chapter 2

Chapter 2 プログラムの構造 他の言語と似た様に、Moveは選択やループの様な一般的なプログラム構造を持っています。 次のようなルールのif-else構文を使って単純な選択構造を実装できます。 もしステートメントが一つだったとしても、分岐構文はブレース({})で括る必要があります。次の例は間違いです。 main() { let x: u64; if (true) x = 3...
Libra

(日本語訳) Chain Castle – Lesson 2 Chapter 1

Chapter 1 所有権 所有権の使用例 前のチャプタで、バインディングというワードに言及しました。実際には、このワードは「所有権のバインディング」を指します。ある識別子がある値の所有権を持っている場合に限って、私たちはこの識別子を通して値にアクセスできます。 値を名前(識別子)にバインディングするとき、この値(リソース)の所有権を識別子にバインドしています。例えば… let x: u64; x...
Libra

(日本語訳) Chain Castle – Lesson 1 Chapter 5

Chapter 5 プロシージャ チャプタ2で言及した様に、プロシージャは他のプログラミング言語における関数と同じ様に、モジュール内で定義できます。 プロシージャの定義 プロシージャを宣言するために、そのビジビリティ(アクセス権)、名前、パラメータと戻り値を次のフォーマットで宣言します。 Visibility Procedure name (parameter name): The type of...
Libra

(日本語訳) Chain Castle – Lesson 1 Chapter 4

Chatper 4 変数バインディングとデータ型 変数バインディング 変数バインディングは、後の利用のために、値を変数にバインディングすることです。 Rustの様にMoveはlet variable: variable type;のフォーマットでletを変数バインディングに使います。例えば次の様にです。 let x: u64; 変数バインディングの後、=で変数をイニシャライズできます。例えば次の様...
スポンサーリンク
タイトルとURLをコピーしました