ブロックチェーン・スマート・コントラクトを作成して実行する  

Hyperledger Composer を使用してブロックチェーン・アプリケーション内にスマート・コントラクトを作成して実行する

| By Ishan Gulhane

Description

ブロックチェーンを使用する組織が、これまで手作業で行われていたプロセスをセキュアな形で自動化するには、信頼できるトランザクションが不可欠です。この開発者向けパターンでは、Hyperledger Composer フレームワークを使用してスマート・コントラクトを作成し、実行する方法を説明します。作成したスマート・コントラクトは、Hyperledger Fabric 上に構築されたブロックチェーン・アプリケーション内で実行されます。

Overview

Hyperledger Fabric V1.1 および Hyperledger Composer V0.19 に対応するために更新されました。

注: この開発者向けパターンは、ブロックチェーン入門として意図されているパターン・シリーズの第 2 回です。シリーズの概要については、「初めてのブロックチェーン・アプリケーションを構築する」を参照してください。

このパターン・シリーズの第 1 回では、ブロックチェーン・ネットワークを構築する方法を説明しました。今回は、ブロックチェーン・アプリケーション内にスマート・コントラクトを作成して実行する方法を説明します。

ロックチェーンは複数の関係者間でのビジネス取引用に設計されており、ブロックチェーンを使用する組織は信頼できる自動トランザクションに依存してビジネスを行うことになります。ブロックチェーンのとりわけ価値ある側面の 1 つは、分散化です。ブロックチェーン・ネットワークへの参加を許可されたすべての関係者の間にシステムが分散化されることから、仲介者を雇う必要はありません。事実上、「中間業者を排除」することになるため、時間の節約となり、取引に関する潜在的な争いも回避されます。

ブロックチェーンの作成者たちは、分散化されたブロックチェーン・レジャーを自己執行的契約、つまりスマート・コントラクトに適用できることに気付きました。スマート・コントラクトは、金銭、財産、株の他、価値のあるものを、透明性があって紛争のない形で交換するために使用されます。スマート・コントラクトは従来型の契約と同じように契約に関する規則と罰則を定義するというだけでなく、スマート・コントラクトに定義された義務は当然の成り行きとして執行されることになります。したがって、スマート・コントラクトを締結するために仲介人は必要となりません。

スマート・コントラクトについては、このテクノロジーを自動販売機に例えると理解しやくなります。通常、契約を締結するには、弁護士のところに行って、その弁護士に料金を払い、該当する文書を受け取るまで待つことになります。このプロセスは、不動産売買契約書でも離婚判決書でも「正式な」文書であれば、すべてに当てはまります。スマート・コントラクト・モデルの場合、自動販売機 (つまり、レジャー) にコインを投入するだけで、文書 (あるいはチョコレート・バー) が提供されるか、自分のアカウントに預け入れられます。このプロセスは、他者による介入を一切必要としない、単純明快なプロセスです。

今回の開発者向けパターンでは、Hyperledger Composer を使用してスマート・コントラクトを作成する方法を説明します。作成したスマート・コントラクトは、このパターン・シリーズの第 1 回で作成したブロックチェーン・アプリ上で実行します。前回のパターンを完了していれば、ブロックチェーン・アプリケーションの開発に Hyperledger Composer がいかに役立つかはすでにご存知のはずです。スマート・コントラクトの取引条件を組み込んで実行して、ブロックチェーンのスキルをレベルアップしてください。

Flow

  1. チェーンコードをインストールしてインスタンス化します。
  2. チェーンコードをクエリーして呼び出します。
  3. トランザクションとチェーンコードのログを表示します。

Instructions

このコード・パターンに取り組む準備はできましたか?アプリケーションを起動して使用する方法について詳しくは、README を参照してください。

Related Blogs

Call for Code 準優勝者: AI を使用して改造の可能性を判断する PD3R

ネパールでエンジニアとして働く Nirmal Adhikari は、地震がもたらす惨状をじかに目にしました。彼はまた、被害状況を評価したくても、なかなかコミュニティーにアクセスできないフラストレーションも実感しました。 「バスや交通機関で現地に辿り着くことはできませんでした。アクセスが禁止されていたためです。大勢のエンジニアを配置しなければならなかったのですが、それには相当な時間がかかりました」。2015 年のネパール大地震を振り返り、Adhikari はこのように言いました。「このことが理由で、私たちは多くの人手を要することなく迅速に作業を行えるよう、何か対策を取らなければならないと思ったのです」。 Adhikari と、Build Change で働く彼の同僚たち (Lakshyana K.C.、Nicolas Ortiz、Shreyasha Paudel、Kshitiz Rimal) は、人工知能によって検査を自動化し、地震で住む場所を追われた人々がすぐに自宅に戻れるようにできないかと考えました。 彼らがチームとして作り上げたのが、この Post-Disaster Rapid Response Retrofit (PD3R) です。3D モデル画像で学習した AI に基づくこのソリューションによって、自然災害後に住居を追われた家族がすぐに構造工学上のアドバイスを受けられるようになる可能性があります。PD3R は 2018 Call for Code Global Challenge で準優勝作品として選ばれ、25,000 米ドルの賞金と The Linux Foundation による長期のオープンソース・サポートを獲得しました。 「地震が発生すると、住居が全壊するか、部分的に損傷を受ける可能性があります」と、Ortiz は言います。「PD3R で目的としているのは、再建または補強することが可能な住居を、人工知能を使用して短時間で評価することです」。 Call for Code Global Award 祝賀会の録画を見る チームは Watson Studio を使用して、2,000 点を超える画像をベースにカスタムの視覚認識モデルを作成しました。IBM Watson...

続けて読む Call for Code 準優勝者: AI を使用して改造の可能性を判断する PD3R

Call for Code 優勝者: モバイル・ホットスポットとダッシュボードによって災害発生後のコミュニティーを支援

昨年メキシコ・シティーでマグニチュード 7.1 の地震が発生したとき、Subalekha Udayasakar はインターネットへの接続を失うと、いかに無力であるかを実感し、その混沌を目の当たりにしました。 「大勢の人々がインターネットに接続できなかったため、救助の手を差し伸べることができなかったのです」と、彼女は言います。「それに、被害に遭った人たちが実際にどのような状況に置かれているかについても、まったく見当がつきませんでした」。 この体験を機に、Subalekha と彼女のチームメイト (Jonah Model、Katie Mathews、Gandharv Patil、Matthew Malin) は災害への対応と復旧の最中に市民と救助隊がオンラインでつながり続ける方法を生み出しました。 ハードウェアとソフトウェアで編成された、この Project Lantern というソリューションは、2018 Call for Code Global Challenge で最優秀作品に選ばれました。Project Lantern が依存するのは、低価格のハードウェアとソーシャル・データ、そして入手した情報と状況の変化を反映したリアルタイムのデータです。 災害復旧時にオフラインになったワイヤレス・ネットワークで、鍵ほどの大きさの Lantern というデバイスがポップアップ通信ハブの役割を果たします。この Lantern デバイスでは、カスタマイズ可能な Web アプリを使用してニュースを受信し、救助とボランティアを要請するとともに、地図ツールによってユーザーを避難所と飲料水や燃料を入手できる場所まで誘導します。このように、Lantern は極めて急を要する状況でコミュニティーの秩序を維持するよう設計されています。 Call for Code チャレンジに向けて、チームは IBM Watson を利用してオフラインで収集されたデータを解釈し、その結果を救助隊用のダッシュボードとして提示することにしました。現地のボランティア、危険にさらされている人々、訓練された難民救済ワーカーの間のコラボレーションは、IRIS (Intelligent Routing and Insights の略語) によって支援します。 「IRIS の役目は、災害時のあらゆるデータに加え、IBM Watson の機械学習機能、The Weather Channel からのデータ、そして公開されているその他すべての API...

続けて読む Call for Code 優勝者: モバイル・ホットスポットとダッシュボードによって災害発生後のコミュニティーを支援

Call for Code 優勝者: 緊急支援ネットワークで中断のない銀行サービスを実現

史上最大の地震の 1 つとして数えられる 2008 年の四川大地震が発生したとき、中国農業銀行 (ABC) は被災者たちに緊急支援と金融サービスを提供しようと試みました。 けれども、銀行カードや写真付き ID を失くすなどといった、いくつかの泣き所が災害によって生み出され、同行は思うように顧客にサービスを提供できませんでした。 「この 10 年の間、世界中で多くの自然災害が発生しています」。ABC 研究開発センターで副総支配人を務める Wang Yi の言葉です。「私たちは被災者への金融サービスを改善することを目指しています」。 こうしたサービスの改善を目的に、ABC の開発者たちは Call for Code の呼びかけに応じ、United Aid Net (UAN) を作成しました。UAN は、自然災害の発生時も復旧時も中断することなく金融サービスを提供するためのグローバル緊急支援ネットワークです。顔認識に基づく預金引き出しとブロックチェーンを基に構築されている UAN は、災害時に家族や友人との間で一時的に金融サービスを共有することを可能にします。 仕組み このソリューションを開発したのは、北京を拠点とするチーム Green Coder です。Dong Xiaojie、Liu Xu、Liu Bo、Huang Zhiming、Liu Jiajie からなるチームが開発したこのソリューションは、2018 Call for Code Global Challenge で最優秀作品に選ばれました。 「UAN は、金融機関ネットワークと家族ネットワークという 2 つのネットワークで構成されています」。ABC でアプリケーション・プラットフォーム開発ネットワークの副総支配人を担当する Xiaojie は、このように言っています。「現在、私は UAN...

続けて読む Call for Code 優勝者: 緊急支援ネットワークで中断のない銀行サービスを実現

Related Links

Hyperledger Fabric

このチュートリアルで、ネットワーク・コンポーネントのアップグレード方法を確認してください。

GitHub

Hyperledger Composer V0.19.3 のソース・コードをチェックアウトできます。

Blockchain アーキテクチャー

このパターンが Blockchain リファレンス・アーキテクチャー内にどのように収まるかを確認してください。

Meet Hyperledger Composer

Hyperledger Fabric ブロックチェーンを構築するためのフレームワークについて紹介しています。

Meet the TSC

この記事で、オープン・テクノロジーの IBM CTO 兼 Hyperledger Technical Steering Committee (TSC) 委員長を務める Chris Ferris を紹介しています。