Logo
    Logo

    Search

    R3-Solana連携

    Blockchainトレンド

    Corda活用事例

    Corda技術

    おすすめ記事

    記事を探す

    その他

    お客様サポート

    SBI R3 Japan HP

    お問い合わせ

    トレーサビリティ機能を備えたサンプルCordappのご紹介

    公開日
    Aug 2, 2021
    カテゴリ
    Corda活用事例を知る
    タグ
    👣トレーサビリティ🍏サンプルアプリ解説🧑‍💻CorDapp開発
    筆者
    中村
    image
    icon
    この記事で学べること

    サンプルCordappについてのユースケース、機能、アプリ、デモをご紹介しています。

    icon
    目次
    • はじめに
    • 1.開発背景
    • 2.想定ユースケース
    • 3.機能紹介
    • 4.アプリの拡張性
    • 5.サンプルCordappのデモ
    • 6.サンプルCordapp技術紹介
    • Flowの設計
    • Stateの設計
    • Contractの設計
    • CorDappの設定

    はじめに

    SBI R3 Japanが作成した、製造業のトレーサビリティを想定したサンプルCordappについてご紹介いたします。

    製品がどの素材を使用して作成されたかが一目でわかる。
    製品がどの素材を使用して作成されたかが一目でわかる。

    1.開発背景

    SBI R3 Japanではお客様からよく「Cordaは見えないからイメージがつきにくい」、「具体的に何ができるかを知りたい」という声を頂いておりました。そこで、近年メーカーのリコール時の迅速な原因究明や原産地証明として注目を集めているトレーサビリティにフォーカスを当て、本アプリを開発しました。

    トレースバックを行うことで、製品の部品に対し、どの生産者がいつ製造したかを、サプライチェーンの始点までさかのぼることができる。
    トレースバックを行うことで、製品の部品に対し、どの生産者がいつ製造したかを、サプライチェーンの始点までさかのぼることができる。

    2.想定ユースケース

    本アプリはサプライチェーン管理において次のニーズにこたえることができます。

    企業間において製品、素材の移動データを正確に短時間で管理したい

    仕入・在庫・販売の管理を一元化したい

    原産地証明や製造者を把握したい

    リコール時の影響範囲を把握したい

    本アプリでは部品の購入、在庫の確認が簡単にできる。
    本アプリでは部品の購入、在庫の確認が簡単にできる。

    3.機能紹介

    本アプリには、製造業のトレーサビリティを想定した3つの機能があります。①製造機能は、材料を使用して素材を生成します。②売買機能は他企業が保有している商品を購入します。③トレースバック機能は製品の製造にかかる全行程の製造者、製造日時、ロット番号を取得できます。

    サンプルCordappの3つの機能
    サンプルCordappの3つの機能
    製造画面では製造の記録、製造物の在庫が確認できる。
    製造画面では製造の記録、製造物の在庫が確認できる。

    4.アプリの拡張性

    本アプリを拡張するアイデアとして、在庫情報・売掛債権を基にした資金調達があげられます。金融機関にCordaネットワークに参加してもらい、改ざんできない取引データを基に、ファイナンスを容易に受けることができます。また、バイヤーの信用力を基にサプライヤーに対しファイナンスをするサプライチェーンファイナンスを行うこともできます。さらに金融機関のシステムとつなげ、スマートコントラクトを活用することで、取引データ生成と同時に支払いを行うこともできます。導入の観点では、すでに自社で仕入管理・在庫管理・販売管理システムを持っている場合、APIで自社のERPシステムと接続することができます。

    5.サンプルCordappのデモ

    デモシナリオの流れ
    デモシナリオの流れ

    サプライチェーン上に、素材メーカー、部品メーカー、自動車メーカーの3社がいて、①素材メーカーがゴム・鉄・油(→素材)を製造。②部品メーカーが素材を購入し、③素材を基にタイヤ・エンジン(→部品)を製造。④自動車メーカーが部品を購入し、⑤部品を基に車を製造。⑥自動車メーカーがトレースバックを行う、となっています。

    ⑥のトレースバックをすることで車の部品・素材の製造日、生産者、ロットIDが入手できます。トレースバックは部品メーカーも行うことができます。なお、製品名、製造に必要な素材、参加者数は設定ファイルから自由にカスタマイズできます。

    6.サンプルCordapp技術紹介

    Flowの設計

    本アプリでは4つのFlowが設計されています。

    1.ManufactureFlow

    ProductState(モノ)を生成します。

    2.TradeFlow

    ProductStateを売買します。このflowは買い手から実行しなければなりません。

    3.GetTraceBackFlow

    保有するProductStateの中に含まれる材料の製造者や製造日を出力します。

    4.CheckStockFLow

    Nodeが保有するProductStateを出力します。

    Stateの設計

    製品・部品・素材(→モノ)はすべてProductStateとして表現されています。一方、製品名・部品名・素材名(→名前)を特定する名称はProductState内のフィールドで定義します。パラメーターはロット番号、製品名、製造日、量、所有者が含まれます。

    Contractの設計

    CordaではStateの生成や移転の制約をContractで行います。Contractでは大きく分けて、次の3つの制約を定義しています。

    すべての検証をパスすること

    モノを作成するための検証

    モノを移転するための検証

    CorDappの設定

    本アプリは、製品・部品・素材に必要な材料を下記のように定義しています。

    📬
    最後までお読みいただきありがとうございます。当社へのご質問・ご要望がございましたら、📪SBI R3 Japan お問い合わせフォーム📪よりお気軽にお問い合わせください!

    <ご質問・ご要望の例>

    • Corda Portalの記事について質問したい
    • ブロックチェーンを活用した新規事業を相談したい
    • 企業でのブロックチェーン活用方法を教えて欲しい 等々
    📢
    また、厳選されたCordaに関する最新情報をお伝えるするメールマガジンやX、当社主催のイベントコミュニティを運営しております。ぜひご登録ください。
    • Cordaメールマガジンに登録
    • X(旧Twitter)をフォロー
    • 弊社イベントコミュニティ(Connpass)に参加
    ✍️
    Written by 中村(Nakamura)
    image

    SBI R3 Japan セールス&マーケティング部

    Cordaに関する情報発信を担当しています。猫派。一人旅、スポーツ

    観戦が趣味。

    →筆者の記事一覧

    Logo

    © copyright SBI R3 Japan 2025

    GitHubYouTubeXFacebookLinkedIn
    task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
    
      ///省略
    
            cordapp project(':contracts')
            cordapp (project(':workflows')){
                config '''
                    car = ["tire:4", "engine:1"] //carを作るにはtireが4つ必要
                    engine = ["oil:10", "iron:20", "chemical:30"]
                    tire = ["rubber:10","wire:20"]
                    rubber = []
                    wire = []
                    oil = []
                    iron = []
                    chemical = []            '''
            }        runSchemaMigration = true
    }