LoginSignup
1
1

More than 5 years have passed since last update.

CorDappsとは?

Posted at

目的

Corda V3.2のドキュメントを参照しながら、CorDappsについて理解する。
ドキュメントの内容を日本語で簡単にまとめたもの。

Cordaの概要に関してはCorda Key conceptsを参照。

内容

CorDappsとは?

CorDappsはCorda上で稼働する分散アプリケーションのこと。(コーダップスと呼ぶ)
CorDappsの目的は、台帳の更新を当事者間が合意すること。そのためにフローを定義する。
image.png
CorDappsは次の主要コンポーネントで構成されている。

  • States
  • Contracts
  • Services
  • Serialisation whitelists

Cordappsはネットワークにデプロイされるのではなく、ノードごとにインストールされる。
例えばノードの所有者は債券CorDappsをインストールするかどうか選択できる。所有者は以下をにインストールするかもしれない。

  • BondState
  • BondContract
  • 3つのフロー
    • IssueBondFlow(債券の発行フロー)
    • TradeBondFlow(債券の交換フロー)
    • ExitBondFlow(債券の償還フロー)

債券のCorDappをインストールすると、ノード所有者は、CorDappで定義されたフローを使用して、債券の発行、販売、交換、償還に関連する台帳の更新に同意することができる。

CorDappsをコーディング

JavaかKotlinでコーディングする。
CorDappsのコンポーネントはCordaライブラリをsubclassまたはimplementしたJavaクラスの形式をとる。

  • Flows subclass FlowLogic
  • States implement ContractState
  • Contracts implement Contract
  • Services subclass SingletonSerializationToken
  • Serialisation whitelists implement SerializationWhitelist

テスト目的で以下も含まれる

  • APIs and static web content (Cordaのビルトインサーバー)
  • RPC clients(RPC経由でノードとやりとりするプロセスを自動化するプログラム)

テンプレートはそれぞれ以下を参照。

Java Template
Kotlin Template

まとめ

今後は実際にサンプルアプリを作成する予定。

参考文献

1
1
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
1
1