LoginSignup
0
0

More than 1 year has passed since last update.

【Corda】Bootcamp をやってみた①

Posted at

ゴール

Corda Bootcampを通してCordaの基本的な概念や実装方法を何となく理解する

参考

事前準備

補足

VSCodeを使う場合Extensionをインストールする
- Java Extension Pack
- VSCode-Corda

やったこと

① レポジトリをクローン

こちらのレポジトリをクローンします。
https://github.com/corda/bootcamp-cordapp

$ git clone https://github.com/corda/bootcamp-cordapp

② JDK 1.8をダウンロード

IDEAのpreference > Build, Extension, Deployment > Build Tools > Gradle を開いて
JDKの1.8をダウンロードします。
1.8じゃないとBuildが通りません。
image.png

Buildが通った後もDependencyのimportに結構時間がかかるので、焦らずに待ちましょう。

③ StateTestsが通るようにする

src > test > java > bootcamp の StateTestsを開くとコメントアウトされています。
これを外してテストが動くように実装していきます。
TDDでハンズオンが進んでいくようです。
例えば、こちらが最初のテストですが、TokenStateを実装していないのでこのテストは失敗します。

@Test 
public void tokenStateHasIssuerOwnerAndAmountParamsOfCorrectTypeInConstructor() {
  new TokenState(alice, bob, 1);
}

Stateの実装で分かったこと

StateはContractStateをimplementして作成する.
そしてgetParticipants()をoverrideして実装する。
このgetParticipants()で誰がこのStateを確認できるかを指定することができる。

④ ContractTestsが通るようにする

StateTestsと同じようにContractTestsも成功するようにしていきます。

Contractの実装で分かったこと

ContractはContractをimplementして作成する。
そしてverify()をoverrideして実装する。
このverifyでtransactionを検証することができる。

⑤ FlowTestsを通るようにする

FlowTestsに関しても同様に成功するようにしていきます。

Flowの実装で分かったこと

FlowでStateを生成して、トランザクションを実行する

⑥ Cordappの動作を確認する

実装したコードを実行して、動作を確認する。
Cordaの特徴である秘匿性を実際に体験できる。
build.gradleを確認すると、4つのnodeが定義されています。
これを起動して、例えば PartyA から PartyB に 100amount 送るというトランザクションを発生させると
AとBではそのトランザクションを確認できるが、Cでは確認できないというふうなことを試すことができます。
image.png

感想

動画を見ると時間がかかりますが
実際に手を動かすのは15分ぐらいなので
興味ある人はやってみてください

記事にしたいこと

ざっくりとした概念や実装方法は分かったので
もう少し深掘りして理解する
ドキュメントがしっかりしているのでちゃんと読めば理解できそう

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0