目次
基本的な紹介
ホームページ バックエンド開発 Golang 実践ブロックチェーン・ハイパーレジャーファブリック (1) 初心者向け10分入門

実践ブロックチェーン・ハイパーレジャーファブリック (1) 初心者向け10分入門

Apr 28, 2020 pm 01:17 PM
ブロックチェーン

はじめに

みなさん、こんにちは。私の名前はマイケルです。私は現在、上海のインターネット会社で働いています。政府がブロックチェーン プロジェクトを非常に重視しているため、人々はブロックチェーン プロジェクトを重視し始めています。 「2020年はブロックチェーン発展元年です。友達とブロックチェーンについて何度も話してきて、自分も実践してみたいと思いました。そこでイーサリアム、EOS、NEOなど多くの選択肢を調べた結果、選択しました」今日の主役であるアライアンス チェーンは Hyperledger ファブリックです。

記事の構成

この一連の記事は 3 つの部分に分かれており、この 3 つの記事は、Hyperledger Fabric の開発を開始し、独自のアライアンス チェーン プロジェクトを構築するのに役立ちます。 :

1. 基本的な紹介

2. 環境設定

3. アプリケーションのデプロイとスタートアップ

基本的な紹介

ハイパーレジャー ファブリック - ブロックチェーン世界の新たな希望

12月2015 年、オープンソース界の旗艦組織である Linux Foundation が主導し、初期メンバー 30 社 (IBM、Accenture、Intel、JP Morgan、R3、DAH、DTCC、FUJITSU、HITACHI、SWIFT、Cisco、など)と共同でSuper The Hyperledger共同プロジェクトの設立を発表します。 Hyperledger プロジェクトは、透明性、オープン性、分散化されたエンタープライズレベルの分散台帳テクノロジーのオープンソースリファレンス実装を提供し、ブロックチェーンと分散台帳関連のプロトコル、仕様、標準の開発を促進することに取り組んでいます。プロジェクトの公式 Web サイトは hyperledger.org で、Hyperledger ファブリックはその重要なプロジェクトの 1 つです。

新入生の多くは、ブロックチェーンに特有の多くの用語についてあまり知らないかもしれないので、最初のセクションでは、Hyperledger ファブリックに関連する用語を紹介します。

名詞の紹介:

アンカー ピア - アンカー ノード アンカー ノードは、チャネル内のすべてのピアノードによって検出でき、そのノードと通信できるピアです。チャネル内の各メンバーには 1 つ (単一障害点の場合は複数) のアンカー ノードがあり、異なるメンバーシップを持つノードがチャネル内に存在する他のノードを検出できるようになります。

ブロック – ブロックは、チャネル上の順序付けられたトランザクションのコレクションです。多くの場合、ブロックは暗号化手段 (ハッシュ値) によって前のブロックに接続されます。

Zhu Jiang: ブロックは、チャネル内で暗号化 (ハッシュ暗号化) され、前のブロックに接続される、順序付けられたトランザクションのセットです。

Chain – チェーン チェーンは、ブロック間のハッシュ接続で構造化されたトランザクション ログです。ピアはオーダー サービスからトランザクション ブロックを受け取り、承認ポリシーと同時実行の競合に基づいてブロック上のトランザクションが有効かどうかをマークし、そのブロックをピア ファイル システムのハッシュ チェーンに追加します。 Z

hu Jiang: 台帳のチェーンは、トランザクション ブロックの「ハッシュ接続」によって構造化されたトランザクション ログです。ピアノードは順序付けサービスからトランザクション ブロックを受け取り、承認ポリシーと同時実行の競合に基づいてブロックのトランザクションを有効または無効としてマークし、ピアノードのファイル システムのハッシュ チェーンにブロックを追加します。

Chaincode – Chaincode Chaincode は台帳上で実行されるソフトウェアで、資産をエンコードでき、トランザクション命令 (またはビジネス ロジック) を使用して資産を変更することもできます。

チャネル - チャネルは、「ファブリック」ネットワーク上に構築されたプライベート ブロックチェーンであり、データの分離と機密性を実現します。チャネル固有の台帳はチャネル内のすべてのピアと共有され、取引当事者が台帳と対話するにはチャネルによって適切に認証される必要があります。チャネルは「構成ブロック」によって定義されます。

コミットメント – コミットメント チャネル内の各ピアは、順序付けられたトランザクションのブロックを検証し、そのブロックをチャネル上の台帳の各コピーにコミット (書き込みまたは追加) します。ピアはまた、各ブロック内の各トランザクションのステータスを有効または無効としてマークします。

同時実行制御バージョン チェック – 同時実行制御バージョン チェック (CCVC) CCVC は、チャネル内のピア間で状態の同期を維持する方法です。ピア ノードはトランザクションを並行して実行し、トランザクションが台帳に送信される前に、ピア ノードはトランザクションの実行中に読み取られたデータが変更されているかどうかを確認します。実行とコミットの間に読み取りデータが変更された場合、CCVC 競合が発生し、トランザクションは台帳内で無効としてマークされ、状態データベース内の値は更新されません。

構成ブロック – 構成ブロックには、システム チェーン (注文サービス) またはチャネルのメンバーとポリシーを定義する構成データが含まれています。チャネルまたはネットワーク全体に対する構成の変更 (メンバーの脱退または参加など) により、新しい構成ブロックが生成され、適切なチェーンに追加されます。この構成ブロックには、ジェネシス ブロックの内容と増分が含まれます。

コンセンサス – コンセンサスは、合意された注文を生成し、ブロックを構成する一連のトランザクションの正確性を確認するために、トランザクション プロセス全体にわたって使用される広義の用語です。

現在の状態 – 台帳の現在の状態は、チェーン トランザクション ログ内のすべてのキーの最新の値を表します。ピアは、処理されたブロック内の各トランザクションに対応する変更された値を台帳の現在の状態に送信します。現在の状態は、チャネルが認識しているすべての最新の k-v を表すため、現在の状態はワールド状態とも呼ばれます。チェーンコードは、現在の状態に対してトランザクション提案を実行します。

ダイナミック メンバーシップ – ダイナミック メンバーシップ ファブリックは、ネットワーク全体の操作性に影響を与えることなく、メンバー、ピア、および順序付けサービス ノードの動的な追加と削除をサポートします。ビジネス関係を調整したり、さまざまな理由でエンティティを追加または削除する必要がある場合、動的メンバーシップは非常に重要です。

エンドースメント – エンドースメントとは、ピアがトランザクションを実行し、トランザクション提案を生成したクライアント アプリに YES/NO を返すプロセスを指します。チェーンコードには、対応する承認ポリシーがあり、承認ピアが指定されます。

エンドースメント ポリシー - エンドースメント ポリシーは、トランザクションを実行するために特定のチェーンコードに依存するチャネル上のピアの条件 (つまり、Yes または No を返す条件) と応答結果 (エンドースメント) の必要な組み合わせを定義します。

承認ポリシーでは、特定のチェーンコードのトランザクションを承認できる承認ノードの最小数または承認ノードの最小割合を指定できます。承認ポリシーは、アプリケーションおよび不正な動作に対する望ましい保護レベルに基づいてノードを承認することによって編成および管理されます。チェーンコードのインストールおよびインスタンス化 (tx のデプロイ) 時に、エンドースメント ポリシーを指定する必要があります。

Fabric-caFabric-ca は、ネットワーク メンバーとそのユーザーに PKI ベースの証明書を発行するデフォルトの証明書管理コンポーネントです。 CA は、各メンバーのルート証明書 (rootCert)、各許可ユーザーの登録証明書 (eCert)、および各登録証明書の多数のトランザクション証明書 (tCert) を発行します。

ジェネシス ブロック - 初期ブロックジェネシス ブロックは、ブロックチェーン ネットワークまたはチャネルを初期化する構成ブロックであり、チェーン上の最初のブロックでもあります。

ゴシップ プロトコル - ゴシップ プロトコル ゴシップ データ送信プロトコルには 3 つの機能があります:

1) ピア検出とチャネル メンバーの管理;

2) ネットワーク上のすべてのピア間で台帳をブロードキャストします。チャネル データ;

3) チャネル上のすべてのピア間で台帳データを同期します。

Initialize – チェーンコード プログラムを初期化するメソッドを初期化します。

インストール – ピアのファイル システムにチェーンコードをインストールするプロセス。 (注釈: ChaincodeDeploymentSpec 情報は、chaincodeInstallPath-chaincodeName.chainVersion ファイルに保存されます)

Instantiate – チェーンコード コンテナーをインスタンス化して開始するプロセス。 (注釈: ChaincodeData を lccc の状態に保存してから、Chaincode をデプロイし、Init メソッドを実行します) Invoke – Call は、チェーンコード内の関数を呼び出すために使用されます。

チェーンコードの呼び出しはトランザクションの提案であり、モジュール式プロセス (承認、合意、検証、送信) を実行します。 invoke の構造は関数とパラメータ配列です。

リーディング ピア - リーディング ノード 各メンバーは、サブスクライブしているチャネル上に複数のピアを持つことができ、ピアの 1 つがチャネルのリーディング ピアとして機能し、メンバーに代わって順序付けサービスと通信します。順序付けサービスはブロックを先頭のピアに配信し、その後、同じメンバーの下の他のピアにブロックを配布します。

Ledger – 元帳 元帳は、チャネル上の各ピアによって維持されるチャネルのチェーンと現在の状態データです。元帳は、チャネルのチェーンとチャネル内の各ピアによって維持される世界の状態です。 (この説明は少し奇妙です)

メンバー – 法的に独立した組織であり、そのメンバーはネットワークの一意のルート証明書を所有します。ピア ノードやアプリ クライアントなどのネットワーク コンポーネントはメンバーにリンクされます。

メンバーシップ サービス プロバイダー – MSPMSP は、クライアントとピアに証明書を提供するシステム抽象コンポーネントを指します。

クライアントは証明書を使用してトランザクションを認証し、ピアは証明書を使用してトランザクションの承認を認証します。このインターフェイスはシステムのトランザクション処理コンポーネントと密接に関連しており、システムのトランザクション処理コンポーネントのコアを変更することなく、定義されたメンバーシップ サービス コンポーネントをこの方法でスムーズにプラグインできるように設計されています。

メンバーシップ サービス - メンバーシップ サービス メンバーシップ サービスは、許可されたブロックチェーン ネットワーク上でアイデンティティを認証、認可、管理します。

ピアおよびオーダーで実行されるメンバー サービス コードは、ブロックチェーン操作を認証および許可します。これは、PKI に基づいた MSP 実装です。 Fabric-ca コンポーネントは、ID を管理するためのメンバーシップ サービスを実装します。特に、ECert と TCert の発行と失効を処理します。 ECert は長期的な ID 資格情報であり、TCert は匿名でリンクできない短期の ID 資格情報です。

順序付けサービス – 順序付けサービスまたはコンセンサス サービスは、トランザクションをブロック内の一連のノードに分類します。

順序付けサービスはピア プロセスから独立しており、ネットワーク上のすべてのチャネルのトランザクションを先着順で並べ替えます。順序付けサービスはプラグイン可能な実装をサポートしており、現在 SOLO と Kafka がデフォルトで実装されています。順序付けサービスはネットワーク全体に共通のバインディングであり、各メンバーに関連する暗号化マテリアルが含まれています。ピア – 台帳を維持し、チェーンコード コンテナを実行して台帳に対して読み取り/書き込み操作を実行するネットワーク エンティティ。ピアはメンバーによって所有および維持されます。

ポリシー – 戦略には、承認戦略、検証戦略、ブロック送信戦略、チェーンコード管理戦略、ネットワークチャネル管理戦略が含まれます。

提案 – チャネル内のピアに対する承認リクエストを提案します。各プロポーザルは、チェーンコードのインスタンス化またはチェーンコードの呼び出しのいずれかです。

Query – 現在の状態のキーの値を問い合わせるリクエスト。

ソフトウェア開発キット – SDKSDK は、チェーンコード アプリケーションを作成およびテストするための構造化ライブラリ環境を開発者に提供します。

SDK は標準インターフェイスを通じて完全に構成および拡張でき、署名付き暗号化アルゴリズム、ロギング フレームワーク、状態ストレージなどのコンポーネントは簡単に置き換えることができます。 SDK API はトランザクション処理に gRPC を使用し、メンバー サービス、ノード トラバーサル、およびイベント処理はすべてファブリックとの通信に使用されます。現在、SDK は Node.js、Java、Python をサポートしています。

状態データベース – stateDB チェーンコードから効率的に読み書きするために、現在の状態データは levelDB や couchDB を含む stateDB に保存されます。

システム チェーン – システム チェーンには、システム レベルでネットワークを定義する構成ブロックが含まれています。

システム チェーンは順序付けサービス内に存在し、チャネルと同様に、MSP 情報、ポリシー、および情報構成の情報を含む初期構成があります。ネットワーク全体に変更を加えると (新しい組織の参加や新しい順序付けノードの追加など)、新しい構成ブロックがシステム チェーンに追加されます。

システム チェーンは、チャネルまたはチャネルのグループの共通のバインディングとみなすことができます。たとえば、金融機関の集合体はコンソーシアム (システム チェーンで表される) を形成し、同じまたは異なるビジネスに基づいてチャネルを作成できます。

トランザクション – トランザクション チェーンコードの呼び出しまたはインスタンス化操作。 Invokeは台帳からの読み取り/書き込みセットをリクエストし、Instantiateはピア上でChaincodeコンテナを開始するリクエストを実行します。

要約:

上記は、最初のセクションで紹介したブロックチェーンの基礎知識です。退屈かもしれませんが、これらの用語を理解する必要があります。と内容 予備知識はコードを書くときと同じで関数名やキーワードを知っておく必要があり、これらをマスターすることで初めて仕事をより良く始めることができます。

以上が実践ブロックチェーン・ハイパーレジャーファブリック (1) 初心者向け10分入門の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

仮想通貨アプリソフトウェアに推奨されるWebサイトは何ですか? 仮想通貨アプリソフトウェアに推奨されるWebサイトは何ですか? Mar 31, 2025 pm 09:06 PM

この記事では、Binance Academy、Okx Learn、Coingecko、Cryptoslate、Coindesk、Investopedia、Coinmarketcap、Huobi University、Coinbase Learn、Cryptocompareなど、10の有名な仮想通貨関連アプリの推奨Webサイトを推奨しています。これらのWebサイトは、仮想通貨市場データ、価格動向分析などの情報を提供するだけでなく、基本的なブロックチェーンの知識、取引戦略、さまざまな取引プラットフォームアプリのチュートリアルとレビューなどの豊富な学習リソースを提供し、ユーザーがそれらをよりよく理解し、利用するのに役立ちます。

デジタル通貨でポジションを転がす方法は?デジタル通貨ローリングプラットフォームとは何ですか? デジタル通貨でポジションを転がす方法は?デジタル通貨ローリングプラットフォームとは何ですか? Mar 31, 2025 pm 07:36 PM

デジタル通貨ローリングポジションは、貸付を使用して取引レバレッジを増幅してリターンを増やす投資戦略です。 この記事では、ローリング(バイナンス、Okex、gate.io、huobi、bybitなど)をサポートする取引プラットフォームの選択などの重要な手順など、デジタル通貨ローリングプロセスを詳細に説明します。 ただし、ローリングポジション取引は非常に危険であり、投資家は慎重に運営し、完全なリスク管理戦略を策定する必要があります。 デジタル通貨ローリングのヒントの詳細については、読み続けてください。

gate.io取引プラットフォームの取引料を計算する方法は? gate.io取引プラットフォームの取引料を計算する方法は? Mar 31, 2025 pm 09:15 PM

gate.io取引プラットフォームの処理料は、トランザクションタイプ、トランザクションペア、ユーザーVIPレベルなどの要因によって異なります。スポット取引のデフォルト料金率は0.15%(VIP0レベル、メーカー、テイカー)ですが、VIPレベルはユーザーの30日間の取引量とGTポジションに基づいて調整されます。レベルが高いほど、料金率は低くなります。 GTプラットフォームコイン控除をサポートしており、55%オフの最低割引を楽しむことができます。契約トランザクションのデフォルトレートはメーカー0.02%、テイカー0.05%(VIP0レベル)であり、これもVIPレベルの影響を受け、異なる契約タイプとレバレッジ

Web3トランザクションはどのプラットフォームですか? Web3トランザクションはどのプラットフォームですか? Mar 31, 2025 pm 07:54 PM

この記事では、Binance、Okx、Gate.io、Kraken、Bybit、Coinbase、Kucoin、Bitget、Gemini、Bitstampなど、有名なWeb3トレーディングプラットフォームのトップ10をリストします。 この記事では、通貨の数、取引タイプ(スポット、先物、オプション、NFTなど)、取り扱い手数料、セキュリティ、コンプライアンス、ユーザーグループなどなど、各プラットフォームの特性を詳細に比較します。高周波トレーダー、契約取引愛好家、またはコンプライアンスとセキュリティに焦点を当てた投資家であろうと、そこから参照情報を見つけることができます。

OUYI OKEX通貨を引き出す方法は? OUYI OKEX通貨を引き出す方法は? Mar 31, 2025 pm 09:33 PM

この記事では、OKXデジタル通貨を撤回するための手順と準備を詳細に紹介します。 まず第一に、アカウントの登録、本名認証が完了し、十分な離脱残高が確立されていることを確認する必要があります。 第二に、正確な外部ストレージアドレスを準備してください。 その後、この記事は、アカウントへのログイン、引き出しページの入力、通貨の選択、引き出し情報(住所、数量、取り扱い手数料を含む)の記入、引き出し記録の確認、撤退記録の確認などの操作手順を徐々に説明し、資産の損失を回避するために情報をチェックする必要性を強調しました。

OUYI OKEXグローバルWebサイト公式ウェブサイトログイン入り口2025 OUYI OKEXグローバルWebサイト公式ウェブサイトログイン入り口2025 Mar 31, 2025 pm 03:45 PM

OUYI OKX(以前のOKEX)Global Stationは、2017年に設立され、マルタに本社を置く世界をリードするデジタル資産サービスプラットフォームです。数千万人のユーザーがいます。このプラットフォームは、150以上の通貨のトランザクションを提供し、厳格な通貨監査メカニズムと市場監視と進捗追跡メカニズムを策定しました。 20を超える主流の法的通貨と、米ドル、ユーロ、ポンドなどの暗号通貨の取引をサポートしています。

OUYI OKEXアカウントを登録、使用、キャンセルする方法に関するチュートリアル OUYI OKEXアカウントを登録、使用、キャンセルする方法に関するチュートリアル Mar 31, 2025 pm 04:21 PM

この記事では、OUYI OKEXアカウントの登録、使用、キャンセル手順を詳細に紹介します。登録するには、アプリをダウンロードし、携帯電話番号または電子メールアドレスを入力して登録する必要があります。使用法は、ログイン、リチャージ、引き出し、取引、セキュリティ設定などの操作手順をカバーします。アカウントをキャンセルするには、OUYI Okexカスタマーサービスに連絡し、必要な情報を提供し、処理を待つ必要があり、最後にアカウントキャンセルの確認を取得する必要があります。 この記事を通じて、ユーザーはOUYI OKEXアカウントの完全なライフサイクル管理を簡単に習得し、デジタルアセットトランザクションを安全かつ便利に実施できます。

セサミエクスチェンジゲートWebバージョンSESAME Exchange公式Webバージョンクリックして入力する セサミエクスチェンジゲートWebバージョンSESAME Exchange公式Webバージョンクリックして入力する Mar 31, 2025 pm 06:18 PM

Sesame Exchange Gate.io Webバージョンはログインするのに便利です。ブラウザアドレスバーに「gate.io」を入力し、Enterを押して公式Webサイトにアクセスするだけです。簡潔なホームページは、クリアな「ログイン」と「登録」オプションを提供し、ユーザーは登録アカウントにログインするか、自分の状況に応じて新しいアカウントを登録することを選択できます。登録またはログインした後、メイントレーディングインターフェイスを入力して暗号通貨取引を実施し、市場の状況と口座管理を確認できます。 Gate.ioにはフレンドリーなインターフェイスがあり、操作が簡単で、初心者やプロのトレーダーに適しています。

See all articles