(46)Getting Started Hyperledger Fabric ハイパー元帳ファブリックを始める
GatewayゲートウエイThe second key class is a Fabric Gateway. Most importantly, a gateway identifies one or more peers that provide access to a network – in our case, PaperNet. See how issue.js connects to its gateway:2番目のキークラスは ファブリックゲートウエイです。 最も重要なことは、ゲートウエイがあるネットワークークー我々の場合PaperNetにアクセスを供給する1人以上の相手を特定します。発行.jsが、どのようにそのゲートウエイに接続するか見てください:await gateway.connect(connectionProfile, connectionOptions);ゲートウェイ.接続(接続プロファイル、 接続オプション)を待ち受ける;gateway.connect() has two important parameters:ゲートウェイ.接続()は2つの重要なパラメータがあります:l connectionProfile: the file system location of a connection profile thatidentifies a set of peers as a gateway to PaperNet接続プロファイル:PaperNetへのゲートウエイとして相手のセットを特定する接続プロファイルのファイルシステムの位置の選定l connectionOptions: a set of options used to control how issue.js interacts with PaperNet接続オプション:PaperNet とどのように発行.jsが相互作用するコントロールするために使われるオプションのセットSee how the client application uses a gateway to insulate itself from the network topology, which might change. The gateway takes care of sending the transaction proposal to the rightpeer nodes in the network using the connection profile and connection options.クライアントアプリケーションがゲートウエイを変化するかもしれないネットワークのトポロジーからそれ自身を隔離するためにどのように使うか見てください。ゲートウエイは、接続 プロファイルとっ接続オプションを使ってネットワークで正しい相手のノードにトランザクション提案を送るのを世話します。Spend a few moments examining the connection profile/gateway/connectionProfile.yaml. It uses YAML, making it easy to read.接続プロファイル/ゲートウエイ/接続プロファイル.yamlをしばらく調べて見よう。 それは、読むことを容易にするのでYAMLを使います。It was loaded and converted into a JSON object:それは装填されて、JSON オブジェクトに変換されました:let connectionProfile = yaml.safeLoad (file.readFileSync('./gateway/connectionProfile.yaml', 'utf8'));接続プロファイル=yaml.安全装填 (ファイル.ファイル読み込み同期('./ゲートウエイ/接続プロファイル.yaml' 、「utf8」));とするRight now, we’re only interested in the channels: and peers: sections of theprofile: (We’ve slightly modified the details to explain what’s happening.)ちょうど今、我々はチャンネル:と相手:プロファイルのセクション に関心があるだけです:(我々はもっと良く何が起きているか説明するために少し細部を修正しました。)channels:チャンネル: papernet: papernet : peers: 相手: peer1.magnetocorp.com: 相手1.magnetocorp.com : endorsingPeer: true 相手の裏書:真 eventSource: true イベントソース:真 peer2.digibank.com: 相手2.digibank.com : endorsingPeer: true 相手の裏書:真 eventSource: true イベントソース:真 peers:相手: peer1.magnetocorp.com: 相手1.magnetocorp.com : url: grpcs://localhost:7051 URL : grpcs://ローカルホスト:7051 grpcOptions: grpcOptions : ssl-target-name-override: peer1.magnetocorp.com ssl -ターゲット -名前-無効化:相手1.magnetocorp.com request-timeout: 120 リクェスト - タイムアウト:120 tlsCACerts: tlsCACerts : path: certificates/magnetocorp/magnetocorp.com-cert.pem パス:証明/magnetocorp/magnetocorp.com-cert.pem peer2.digibank.com: 相手2.digibank.com : url: grpcs://localhost:8051 URL:grpcs://ローカルホスト:8051 grpcOptions: grpcOptions : ssl-target-name-override: peer1.digibank.com ssl -ターゲット- 名前-無効化: 相手1.digibank.com tlsCACerts: tlsCACerts : path: certificates/digibank/digibank.com-cert.pem パス:証明/digibank/digibank.com-cert.pem See how channel: identifies the PaperNet: network channel, and two of its peers. MagnetoCorp has peer1.magenetocorp.comand DigiBank has peer2.digibank.com, and bothhave the role of endorsing peers. Link to these peers via the peers: key,which contains details about how to connect to them, including their respectivenetwork addresses.どのようにチャンネル:が PaperNet:ネットワークチャンネルとその2人の相手を識別するか見てみよう。 MagnetoCorpは相手1.magenetocorp.comを持ち、DigiBank は相手2.digibank.comを持ち、両方ともは相手を裏書きする役割を持っています。彼らのそれぞれのネットワークアドレスを含めて、どのように彼らに接続するべきかについて、詳細を含むpeers:key によってこれらの相手にリンクしてください。The connection profile contains a lot of information – not just peers – but network channels, network orderers, organizations, and CAs, so don’t worry if you don’t understand all of it!接続プロファイルは多くの情報( 相手だけではなく )、しかしネットワークチャネル、ネットワーク注文者、組織と認証局を 含んでいるので、それほどあなたがそのすべてが分からなくても、どうかそんなに心配しないでください!Let’s now turn our attention to the connectionOptions object:今我々の注意を接続オプション オブジェクトに向けましょう:let connectionOptions = { identity: userName, wallet: wallet}接続オプション = { 身元:ユーザ名、 財布:財布}とするSee how it specifies that identity, userName, and wallet, wallet, should be used toconnect to a gateway. These were assigned values earlier in the code.それがどのようにその同値、ユーザ名を指定するか見てください、そうすれば財布、財布、がゲートウエイに接続するために使われるべきです。 これらは符号早くに割当値でした。There are other connection options that an application could use to instruct the SDK toact intelligently on its behalf. For example:SDKにそのために聰明に作用するよう指示するためにそこ(に・で)アプリケーションが使うことができた otherconnection optionswhich です。 例えば:let connectionOptions = { identity: userName, wallet: wallet, eventHandlerOptions: { commitTimeout: 100, strategy: EventStrategies.MSPID_SCOPE_ANYFORTX },}接続オプション = {身元:ユーザ名、 財布:財布、 イベントハンドラーオプション:{ 時間切れコミット :100、 戦略: イベント戦略.MSPID_SCOPE_ANYFORTX }、}Here, commitTimeout tells the SDK to wait 100 seconds to hear whether a transaction has been committed. And strategy:EventStrategies.MSPID_SCOPE_ANYFORTX specifies that the SDK can notify an application after a single MagnetoCorp peer has confirmed the transaction, in contrast to strategy: EventStrategies.NETWORK_SCOPE_ALLFORTX which requires that all peers from MagnetoCorp and DigiBank to confirm the transaction.ここで、時間切れにコミットは、トランザクションが引き受けられたかどうか聞くために100秒待つためにSDKに告げます。そして 一人の MagnetoCorp 相手がトランザクションを確認した後にSDKがアプリケーションに通知できる ことを戦略:イベント戦略.MSPID_範囲_トランザクションのためのいずれが、指定します。それと対照的に 戦略:イベント戦略.ネットワーク_範囲_トランザクションのためのすべては、トランザクションを確認するために MagnetoCorp と DigiBank からすべての相手にトランザクションを確認することを必要とします。If you’d like to, read more about how connection options allow applications to specifygoal-oriented behavior without having to worry about how it is achieved.もしあなたがそうすることを望むなら、接続オプションがどんな具合に達成されているか心配する必要なくアプリケーションがゴール志向のふるまいを指定することを可能にする方法についての詳細はこちらを読んでください。=========================インターネット・コンピュータランキング=========================ネットサービスランキング=========================【5/3〜5】買えば買うほど★最大10%OFFクーポン コールマン アウトドアワゴン グレー アルペン限定カラー 2000034670 OUTDOORWAGON (テント タープ テーブル チェア 運搬に) Coleman価格:11000円(税込、送料別) (2022/5/2時点)楽天で購入Apple Gift Card価格:50000円(税込、送料無料) (2022/5/2時点)楽天で購入パナソニック ベビーモニター KX-HC705(ホワイト)【送料無料】価格:15197円(税込、送料無料) (2022/5/2時点)楽天で購入Nintendo Switch Joy-Con(L) ネオンブルー/(R) ネオンレッド価格:32978円(税込、送料無料) (2022/5/2時点)楽天で購入