管理渠道

本主题包含有关管理网络中的渠道的信息,例如如何创建和查看渠道、如何加入对等节点以及如何指定和锚定对等节点、如何处理策略和访问控制列表以及如何将排序者与渠道关联。

什么是通道?

通道对对等节点和账本数据进行分区和隔离,以便在区块链网络上提供私密交易。

成员定义并构建渠道,允许特定对等方执行同一区块链网络上其他成员无法查看或访问的私有和机密交易。每个通道包括:
  • 对等节点
  • 共享分类账
  • 通道上部署的链代码
  • 一个或多个排序服务节点
  • 应用定义的渠道策略定义和 ACL

每个加入渠道的对等方都有自己的身份,可以向渠道对等方和服务进行验证。虽然对等方可以属于多个渠道,但有关事务处理、分类账状态和渠道成员资格的信息仅限于每个渠道中的对等方。

您可以使用 Oracle Blockchain Platform 控制台或超级账本架构 SDK 在您的区块链网络上创建渠道。请参阅查看渠道

查看渠道

网络中的成员使用渠道私下通信区块链交易信息。

使用渠道页可以查看网络中的渠道列表,创建和监视渠道,指定锚点对等节点,以及升级在渠道上使用的已部署链代码。
  1. 转到控制台并单击渠道选项卡。
    此时将显示 Channels(通道)页面。通道表包含网络中所有通道的列表。
  2. 在渠道表中,单击所需的渠道名称。如果连接到该通道的所有对等节点都已停止,则会列出该通道,但其信息不可查看。
    此时将显示 Channel Information(渠道信息)页面。
  3. 单击渠道信息页的窗格以查找有关渠道的信息。
    我可以在此窗格中做什么?
    帐目 获取有关渠道的分类账活动的信息,例如块编号和块中的用户事务处理数。单击块编号可钻取到有关其事务处理的信息。您可以使用筛选器字段指定要查看的汇总信息(例如,来自最后一天或上个月的信息),或使用自定义选项输入开始和结束时间。请参阅查看渠道的分类帐活动
    已部署链代码 查看已在通道上部署的链代码列表。
    排序者 查看当前处于活动状态的排序者列表,并添加新的 OSN 以加入通道。
    对等节点 查看加入该通道的对等节点列表。使用此部分可以设置通道的锚点对等点。
    组织 查看其对等方正在使用通道进行通信的网络成员的列表。
    渠道策略 查看为渠道创建的标准策略和任何策略的列表。使用此部分可以添加、修改和删除策略。
    ACL 查看访问控制列表 (Access Control List,ACL) 以及用于管理哪些组织和角色可以访问渠道资源的策略。

创建渠道

您可以向网络添加通道,并指定哪些成员可以使用该通道,以及哪些对等方可以加入该通道。您无法删除渠道。

您必须是管理员才能完成此任务。

  1. 转到控制台并选择渠道选项卡。
  2. 渠道选项卡中,单击创建新渠道
  3. 渠道名称字段中,输入渠道的唯一名称。通道的名称长度最大为 128 个字符。
  4. 组织部分中,选择要在该渠道上通信的任何其他成员。
    如果您在参与者实例中工作,则需要在创始人的 MSP ID 显示在“组织”部分中之前将创建者添加到您的实例。要添加创建者组织,请转到 "Network"(网络)选项卡,然后单击 Add Organization(添加组织)按钮上载创建者的证书。
  5. MSP ID ACL 部分中,指定有权访问每个选定组织的渠道和权限的组织。请注意,您可以根据需要,稍后在渠道中添加或删除更多组织。
    您的组织的权限设置为写入 (ReaderWriter),您无法修改此设置。默认情况下,其他成员的权限设置为写入 (ReaderWriter),但如果不希望成员调用链代码并且只读取渠道信息和通道块,则可以将它们更改为读取 (ReaderOnly)。
  6. (可选)在要加入渠道的对等节点字段中,选择一个或多个对等节点。请注意以下信息:
    • 如果您的网络包含参与者,则参与者的同级不会显示在此列表中。参与者必须使用控制台将同级加入渠道。参与者无法将其同级加入渠道,除非其组织已添加到渠道的 MSP ID ACL 部分。
    • 如果您只想创建通道,则不要选择任何对等节点。您可以稍后向渠道添加对等节点。
  7. 单击提交
    渠道表显示新渠道。
创建渠道后,您可以完成以下任务:

查看渠道的分类账活动

使用分类账查找特定渠道上事务处理的汇总信息和运行时统计信息。

  1. 转到控制台并选择渠道选项卡。
  2. 在渠道表中,单击要获取事务处理信息的渠道名称。在渠道信息页中,确认已选择分类帐窗格。
  3. 使用分类帐汇总区域可查找有关渠道活动的基本信息,例如分类帐链中的块总数和渠道上的用户事务处理总数。
  4. 要查看在特定时间(例如最后一天或星期)发生的区块链活动,请使用筛选器下拉列表选择所需的时间范围。要查找并细化到一组特定的事务处理,请选择自定义并在开始时间结束时间字段中输入搜索标准,或单击日历图标并选取所需的日期。单击应用
    如果选择特定时间段(例如,最后一天),然后再次选择该时间段以重新运行查询,则不会再次运行查询。要获取最新信息,请单击刷新按钮。
    可以为块显示以下事务处理类型:
    • genesis —运行配置块以初始化通道的事务。
    • data (sys) - 启动链代码容器以使链代码可供使用的事务处理。
    • data —在通道上执行链代码事务处理。
  5. 要查找有关特定事务处理的详细信息,请在查询分类账表中找到该事务处理,然后单击它。事务处理表显示事务处理的详细信息。

    对于任何给定的块,表中的事务处理按事务处理编号的顺序列出,该编号由排序服务在创建块时分配。因此,表中列出的事务处理可能具有在同一块中其他事务处理之前或之后的时间戳(来自对等方对链代码的背书)。单个块中事务处理的时间范围由订购服务设置(包括批超时参数)控制(在切割块之前,订购服务在初始事务处理之后等待其他事务处理的时间)。

    事务处理明细 说明
    TxID 分配给事务处理的唯一字母数字 ID。TxID 被构造为与签名标识的序列化字节连接的 nonce 的散列。
    Time 事务处理的时间戳(事务处理发生的日期和时间)。
    链代码 运行事务处理的链代码的名称。此字段可以显示您编写、安装和部署的链代码的名称,但也可以显示系统链代码。

    系统链代码选项包括:

    • _lifecycle - 用于生命周期请求,例如安装、部署和升级。
    • QSCC —用于查询。此链代码包括用于分类账查询的 API。
    状态 此状态指明事务处理是成功还是失败。
  6. 单击 TxID 旁边的三角形图标可查看有关事务处理的深入信息,例如函数名称、参数、验证结果、响应状态、启动器和背书者。
    如果事务处理失败,可以使用 TxID 在对等节点或排序节点上搜索错误日志以了解更多信息。

查看或更新渠道的组织列表

您可以查看有权访问该渠道的组织列表。如果您创建了渠道,则可以更改组织在渠道上的权限,并且可以向渠道中添加组织或从渠道中删除组织

  1. 转到控制台并单击渠道选项卡。
    此时将显示 Channels(通道)页面。通道表包含网络中所有通道的列表。
  2. 在渠道表中,找到所需信息的渠道,单击渠道的更多操作按钮,然后单击编辑渠道组织
    此时将显示编辑组织页。
  3. MSP ID ACL 部分中,您可以完成以下任务:
    • 修改组织的权限。创建通道的组织设置为写入 (ReaderWriter)。您无法更改此设置。

    • 如果您是网络创始人,则可以清除组织的复选框以将其从渠道中删除。如果您是网络参与者,请单击删除按钮以从渠道中删除组织。如果从渠道中删除组织,则组织及其对等方将无法再在渠道上查询、调用或部署链代码。已删除的组织的同级无法加入该渠道。

    • 单击组织的复选框以将组织添加到渠道并设置其权限。默认情况下,每个成员的权限都设置为写入 (ReaderWriter),但如果您不希望成员调用链代码并且只读取通道信息和通道块,则可以将其更改为读取 (ReaderOnly)。

  4. 单击提交以保存更改。

将对等点加入渠道

您可以向通道添加对等节点,以便节点可以使用它与通道上的其他对等节点交换专用事务处理信息。

请注意以下信息:
  • 创建通道时,可以指定哪些本地对等节点可以加入通道。

  • 如果您要创建包含参与者的网络,则可以在渠道上选择参与者作为成员。或者,您可以在创建渠道后添加参与者。

  • 您的实例具有多个可用性域或容错域,Oracle 建议您将每个分区中的对等连接至该通道。这是因为如果一个 Worker 节点不可用,则该渠道仍可用于背书和提交。要确定对等点所在的域,请在 More Actions(更多操作)菜单中选择 Show AD Info(显示 AD 信息)以查看可用性域信息。

  • 您最多可以从每个域加入七个对等节点。

请参见 Create a Channel

您必须是管理员才能执行此任务。

  1. 转到控制台并选择节点选项卡。
  2. 节点选项卡中,单击要添加到通道的对等节点。
  3. 节点信息页中,单击渠道窗格以查看对等方已在使用的渠道列表。
  4. 单击加入新渠道
    此时将显示 Join New Channels(加入新渠道)对话框。
  5. 单击渠道名称字段,然后从列表中选择要加入的渠道的名称。再次单击该字段以选择其他渠道。单击加入

添加锚点对等点

使用通道的每个成员必须至少指定一个锚点对等点。锚点对等点是主要网络接触点,用于发现通道上的其他网络对等点并与之通信。

您可以将组织中的一个或多个对等点指定为渠道上的锚点对等点。对于高可用性网络,您可以指定两个或更多个锚点对等点。使用网络通道的所有成员必须使用其控制台将其一个或多个对等节点指定为锚点对等节点。

您必须是管理员才能执行此任务。

  1. 转到控制台并选择渠道选项卡。
    此时将显示 Channels(通道)选项卡,通道表包含网络中所有通道的列表。
  2. 在通道表中,单击要向其添加锚点对等点的通道名称。
    此时将显示 Channel Information(渠道信息)页面。
  3. 渠道信息页中,单击对等窗格。
  4. 找到要指定为锚点对等点的对等点或对等点,然后单击其锚点对等点复选框以选择它们。
  5. 单击应用按钮。

更改或删除锚点对等点

您可以更改或删除通道的锚点对等点。锚点对等点是主要网络接触点,用于发现通道上的其他网络对等点并与之通信。

在更改或删除通道的锚点对等点之前,请注意以下信息:

  • 要在渠道上进行通信,您必须将组织中的一个或多个对等点指定为锚点对等点。
  • 对于高可用性网络,您可以指定两个或更多个锚点对等点。
  • 使用网络通道的所有成员必须使用其控制台将其一个或多个对等节点指定为锚点对等节点。

您必须是管理员才能执行此任务。

  1. 转到控制台并选择渠道选项卡。
    此时将显示 Channels(通道)选项卡,通道表包含网络中所有通道的列表。
  2. 在通道表中,单击要从中删除锚点对等点的通道名称。
    此时将显示 Channel Information(渠道信息)页面。
  3. 渠道信息页中,单击对等窗格。
  4. 找到要删除的作为锚点对等点的对等点或对等点,并清除其锚点对等点复选框。或者,要将另一个对等点添加为锚点对等点,请单击其锚点对等点复选框以选择它。
  5. 单击应用按钮。

查看有关已部署链代码的信息

您可以查看有关网络中不同通道上部署的链代码的信息。

您可能需要有关已部署链代码的信息来确定是否需要升级链代码,或者确定部署了链代码的渠道。
  1. 转到控制台并选择渠道选项卡。
  2. 在渠道表中,单击包含要查看其信息的链代码的渠道名称。
  3. 渠道信息页中,确认已选择“已部署链代码”窗格
  4. 在链代码表中,您可以:
    • 单击链代码程序包 ID 以转到“链代码”选项卡,以了解有关它的详细信息。例如,链代码已安装到的对等节点以及链代码已部署到的通道。
    • 在链代码的 "More Actions"(更多操作)菜单中,单击 View Chaincode Definition(查看链代码定义)以查找有关链代码定义的详细信息,包括背书策略。
  5. (可选)如果您看到没有链代码的渠道列表,则可以转到“Chaincodes(链代码)”选项卡并将链代码部署到渠道。请参阅部署链代码

使用通道策略和 ACL

本主题包含有关通道的策略和访问控制列表 (ACL) 的信息。它概述了策略是什么、策略类型以及如何修改策略,以及如何使用 ACL 来管理哪些组织和角色可以访问渠道的资源。

什么是渠道策略?

策略定义一组条件。所需的当事人必须满足策略的条件,才能将其签名视为有效并在网络上进行相应的请求。

区块链网络由这些策略管理。策略根据与满足请求所需的资源关联的策略检查与请求关联的身份。策略位于通道的配置中。

配置通道的策略后,将它们分配给通道的 ACL 资源,以确定在通道上发生更改或操作之前需要签署哪些成员。例如,假设您修改了 Writers 策略以包括组织 A 或组织 B 中的成员。然后,将写入器策略分配给通道的 cscc/GetConfigBlock ACL 资源。现在,只有组织 A 或组织 B 的成员才能在 cscc 组件上调用 GetConfigBlock

什么是策略类型?

有两种策略类型:签名和 ImplicitMeta。

  • 签名 - 指定评估规则的组合。它支持 ANDORNOutOf 的组合。例如,您可以定义“A 和 2 位其他管理员的管理员”或“20 位组织管理员中的 11 位”。

    您创建的任何新策略都将是签名策略。

  • ImplicitMeta - 此策略类型仅在配置上下文中有效。它聚合在配置层次中更深入地评估策略的结果,这些策略由签名策略定义。它支持默认规则,例如“大多数组织管理策略”。

何时创建策略?

将通道添加到网络时,Oracle Blockchain Platform 将创建默认策略。默认策略包括:管理员、写入者、读取者、背书、LifecycleEndorsement(ImplicitMeta 策略)和创建者(签名策略)。您可以根据需要修改这些策略或创建策略。

请注意有关渠道策略的以下重要问题:

  • 您可以使用控制台创建通道并将组织的 ACL 设置为 ReaderOnly。保存新渠道后,无法从渠道的“编辑组织”选项更新此 ACL 设置。

    但是,您可以使用控制台的“Manage Channel Policies(管理通道策略)”功能将组织添加到“Writers(写入器)”策略,该策略将覆盖通道的 ReaderOnly ACL 设置。

添加或更改渠道的策略

您可以添加或修改通道的策略,以指定在通道上执行特定操作所需的成员。定义策略后,将其分配给渠道的 ACL。

在添加或更新策略之前,您需要了解 Oracle Blockchain Platform 如何创建默认渠道策略。请参阅什么是渠道策略?

您必须是管理员才能执行此任务。

  1. 转到控制台并选择渠道选项卡。

    此时将显示 Channels(通道)选项卡,通道表包含网络中所有通道的列表。

  2. 在通道表中,单击要向其添加策略或修改策略的通道名称。

    此时将显示 Channel Information(渠道信息)页面。

  3. Channel Information(渠道信息)页中,单击 Channel Policies(渠道策略)窗格。
  4. 可执行以下操作之一:
    • 要添加新策略,请单击创建新策略按钮。此时将显示 Create Policy 对话框。在策略名字段中输入名称,然后在策略类型字段中选择“签名”。展开 Signature Policy 部分。
    • 要修改现有策略,请单击策略的名称。此时将显示 Update Policy 对话框。
  5. 单击添加标识按钮以添加组织。或者根据需要修改现有签名策略。请注意以下信息:
    说明
    MSP 标识 从下拉菜单中,选择必须签署策略的组织。
    角色 选择策略所需的对应对等角色。通常,这将是成员。您可以通过查看对等方的配置信息来查找对等方的角色。
    策略表达式模式 在大多数情况下,您将使用基本。选择 Advanced 可使用 ANDORNOutOf 编写表达式字符串。有关如何编写有效策略表达式字符串的信息,请参见 Hyperledger Fabric 文档中的背书策略
    签署人 选择策略必须签署多少成员才能满足请求。
  6. 如果要添加新策略,请单击创建。如果要修改策略,则单击更新

删除渠道的策略

您可以删除已创建的渠道策略。

无法删除默认策略:管理员、创建者、读取者、写入者、背书和 LifecycleEndorsement。此外,如果通道策略已分配给 ACL,则无法将其删除。在尝试删除渠道策略之前,请确认未分配策略。

您必须是管理员才能执行此任务。

  1. 转到控制台并选择渠道选项卡。

    此时将显示 Channels(通道)选项卡,通道表包含网络中所有通道的列表。

  2. 在通道表中,单击要删除策略的通道。

    此时将显示 Channel Information(渠道信息)页面。

  3. Channel Information(渠道信息)页中,单击 Channel Policies(渠道策略)窗格。
  4. 找到要删除的策略,然后单击其更多选项按钮。
  5. 单击 Remove 并确认删除。

什么是通道 ACL?

访问控制列表 (Access Control List,ACL) 使用策略管理哪些组织和角色可以访问渠道的资源。

用户通过定位组件(如查询系统链代码 (qscc)、生命周期系统链代码 (_lifecycle)、配置系统链代码 (cscc)、对等节点和事件)与区块链网络进行交互。这些组件与特定资源(例如 GetConfigBlockGetChaincodeData)关联,您可以在渠道级别将策略分配给这些资源。这些策略是通道配置的一部分。

策略定义哪些组织和角色可以请求资源。发出请求时,策略会告知系统检查请求者的身份并确定其是否有权发出请求。创建通道时,Oracle Blockchain Platform 会包含带该通道的默认超级账本架构 ACL。Oracle Blockchain Platform 还为渠道创建默认策略(管理、创建者、写入者、读取者、背书和 LifecycleEndorsement)。您可以根据需要修改这些策略或创建策略。请参阅什么是渠道策略?

更新渠道 ACL

您可以通过将策略分配给渠道的资源来更新渠道的 ACL。策略定义哪些组织和角色可以请求资源

在更新通道的 ACL 之前,您必须了解策略和 ACL。有关详细信息,请参阅什么是渠道 ACL?

  1. 转到控制台并单击渠道选项卡。

    此时将显示 Channels(通道)页,并且通道表包含网络上所有通道的列表。

  2. 在 channel 表中,单击要更新其 ACL 的 channel 的名称。

    此时将显示 Channel Information(渠道信息)页面。

  3. 渠道信息页中,单击 ACL 窗格。
  4. 在“资源”表中,找到要更新的资源。单击资源的展开按钮,然后选择要分配给资源的策略。
  5. 根据需要修改其他资源的策略。
  6. 单击 Update ACLs (更新 ACL)。

将排序者添加到渠道或从渠道中删除排序者

排序者管理组织可以从渠道中添加或删除排序者。

要将排序者添加到通道,请执行以下操作:
  1. 在创建者控制台中,打开渠道选项卡并选择渠道以查看其详细信息视图。
  2. 打开排序者子标签。将列出当前加入该通道的所有排序节点。
  3. 单击加入渠道。选择尚未在此通道中的 OSN,然后单击加入
要从通道中删除排序者,请执行以下操作:
  1. 在创建者控制台中,打开渠道选项卡并选择渠道以查看其详细信息视图。
  2. 打开排序者子标签。将列出当前加入该通道的所有排序节点。
  3. 选择要从渠道中删除的排序者,然后从其“更多操作”菜单中选择删除

设置排序者管理员组织

您可以将渠道中 OSN 的管理分配给任何组织。通常会分配创建者或渠道创建者。

  1. 在创建者控制台中,打开 Channels(通道)选项卡。
  2. 选择要为其设置排序器管理员组织的渠道,然后从“操作”菜单中选择管理 OSN 管理
  3. 从可用组织列表中选择,然后单击提交

编辑渠道的订购服务设置

您可以更新特定渠道的排序服务设置。

您必须是管理员才能完成此任务。
  1. 转到创始人的控制台,然后单击渠道选项卡。
  2. 定位渠道,单击更多操作菜单,然后选择更新订购服务设置
    此时将显示 Ordering Service Settings 对话框。
  3. 根据需要更新设置。
    说明
    批处理超时(毫秒) 指定系统在创建批处理之前将等待的时间量(以毫秒为单位)。输入一个介于 1 和 3600000 之间的数字。
    最大消息计数 指定要包含在批中的最大消息数。输入一个介于 1 和 4294967295 之间的数字。
    绝对消息字节数 指定批处理中序列化消息允许的最大字节数。

    此数字必须大于您在“首选消息字节数”字段中输入的值。

    首选消息字节数 指定批处理中序列化消息允许的首选字节数。大于此大小的消息会导致批处理较大,但批处理大小将等于或小于您在“绝对消息字节数”字段中指定的字节数。

    通常将此值设置为 1 MB 或更小。

    在此字段中输入的值必须小于在“绝对消息字节数”字段中输入的值。

    快照间隔大小 定义创建快照的 MB 数。
  4. 单击更新
    已保存更新的设置。