如何在 Hyperledger 1.0 (Node SDK) 中获取所有现有通道

How to get all existing channels in Hyperledger 1.0 (Node SDK)

我正在将 Node SDK 与 Hyperledger 1.0 一起使用,并想检查是否存在具有特定名称的通道。有没有办法查询所有现有频道?有没有办法通过名称获取频道?

您无法看到所有可用的频道,但您可以利用 CSCC(配置系统链代码)GetChannels API 来获取客户符合条件的频道列表。您只需要调用名为 CSCC 的链代码。

CSCC 是系统链代码,这意味着它固有地内置到对等二进制文件中并在对等启动期间加载和 "instantiate"。您可以找到详细信息 here。考虑到 NodeJS,请求将如下所示

const request = {
  chaincodeId : "cscc",
  txId: 213213123123, // Some random transaction id
  fcn: "GetChannels",
  args: ['']
}

顺便说一句,您也可以使用 peer cli 来完成:

peer channel list