すべてのプロダクト
Search
ドキュメントセンター

Blockchain as a Service:イベントのサブスクライブ

最終更新日:Jan 19, 2025

このトピックでは、WebSocket を使用してブロックチェーンネットワークで発生したイベントを受信する方法について説明します。

API

GET /api/v1/networks/{network}/events/subscribe

URL パス パラメーター 説明
network チャンネルの名前。
access_token REST API へのアクセスに使用されるアクセストークン。
source サブスクライブされたイベントタイプ。オプションには、Tx、Config、Contract、および Block が含まれます。複数のタイプのイベントをサブスクライブする場合は、タイプをコンマ (,) で区切ります。“*“ は、すべてのタイプのイベントがサブスクライブされていることを示します。

メッセージの内容

パラメーター タイプ 説明
id String イベントの ID。チャンネル内で一意です。
name String イベントの名前。
type EventType

イベントのタイプ。オプションには、Tx、Config、Contract、および Block が含まれます。

Tx: トランザクションの生成

Config: ブロックチェーンのシステム構成の変更

Contract: トランザクションでのスマートコントラクトの設定イベント

Block: ブロックの生成
network String チャンネルの名前。
instance_id String サブスクライブされたイベントのインスタンス ID。組織内で一意です。
content Object

EventType が Tx または Config に設定されている場合、値は Transaction 構造です。

EventType が Contract に設定されている場合、値は String 型で、イベント内容は Base64 でエンコードされています。

EventType が Block に設定されている場合、値は Block 構造です。

トランザクション

パラメーター タイプ 説明
id String トランザクションの ID。EventType が Config に設定されている場合、値は空です。
state String トランザクションの状態。“VALID” は、トランザクションが正当であることを示します。その他の値は、トランザクションが不正であることを示します。
from String トランザクションの開始者。<Organization MSP>. <Username.> の形式です。
to String トランザクションによって呼び出されるターゲット チェーンコード。EventType が Config に設定されている場合、値は空です。
input String JSON エンコード後のチェーンコード呼び出しパラメーター。EventType が Config に設定されている場合、値は JSON エンコードされた common.ConfigUpdate です。
events List<Event> トランザクションによって生成されたブロックチェーンイベントリスト。
data Object トランザクションの詳細な内容。データ構造は common.Payload です。

ブロック

パラメーター タイプ 説明
number Integer ブロックの高さ。
hash String 現在のブロックのハッシュ値 (16 進エンコード後)。
previous_hash String 最後のブロックのハッシュ値 (16 進エンコード後)。
create_time Integer 現在のブロックの作成時刻。エポックタイム 1970 年 1 月 1 日 00:00:00 UTC から経過したミリ秒数を表す UNIX タイムスタンプです。
transactions List<String> 現在のブロックのトランザクション ID リスト。

リクエストの例

wscat -c "ws://your.gateway.endpoint/api/v1/networks/channel3/events/subscribe?access_token=<URL エンコードされたアクセストークン>&source=%2A"

通常のメッセージプッシュの例

{
  "type": "Block",
  "platform": "Fabric",
  "instance_id": "csi-e2ehmfqasth-bcw7tzao2dzeo",
  "network": "channel3",
  "id": "block-282",
  "name": "282",
  "content": {
    "number": 282,
    "hash": "f7b42d07509c463f8e8cde0fcc8325b42e8bf7fd6a7a24dd207eed297fcd6358",
    "create_time": 1581589504,
    "previous_hash": "b8de08d49217c1d8f4ea398c8c61fe2a5bc46ec7bb6c95f44dfd29eaf6c272ab",
    "transactions": [
      "dc90b701e27afa5120ee003ef9d51b86a2ff9e1a9d8537f65387bde6d92c5cba"
    ]
  }
}

エラーコード

詳細については、「エラーコード」をご参照ください。