全部產品
Search
文件中心

:訂閱事件

更新時間:Jul 06, 2024

通過 Websocket 接收區塊鏈網路上發生的事件。

API

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

Url Path 參數

描述

network

通道名稱

access_token

訪問REST API所需的Access Token

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結構;

Transaction

名稱

類型

描述

id

String

交易ID,當交易類型是配置變更時,該值為空白

state

String

交易狀態,”VALID” 表示合法交易,其它值表示非法交易

from

String

交易的發起者,格式為 <組織MSP>.<使用者名稱>

to

String

交易調用的目標鏈碼名稱,當交易類型是配置變更時,該值為空白

input

String

經過JSON編碼的鏈碼調用參數,配置變更時為JSON編碼的common.ConfigUpdate

events

List<Event>

證券交易所產生的區塊鏈事件列表

data

Object

交易的詳細內容,資料結構為交易中的common.Payload

Block

名稱

類型

描述

number

Integer

區塊塊高

hash

String

hex 編碼後的當前區塊hash值

previous_hash

String

hex 編碼後的上一區塊hash值

create_time

Integer

當前區塊建立時間,Unix秒級時間戳記

transactions

List<String>

當前區塊中,包含的所有交易的交易ID列表

樣本

請求樣本

wscat -c "ws://your.gateway.endpoint/api/v1/networks/channel3/events/subscribe?access_token=<Your URL Encoded Access Token>&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"
    ]
  }
}

錯誤碼

請參考錯誤碼