通道管理
通道(Channel)对应Fabric区块链中的账本。每个区块链中可以有多个通道(账本),每个通道都是独立并且相互隔离的,以实现数据的保密。 创建通道时,必须为通道指定一个联盟。只有该联盟中的组织才有权访问该通道。在联盟链场景中,只有盟主才有权创建通道。
创建通道
在创建通道之前,需要先创建好通道希望使用的联盟。点击区块链的名称,进入到区块链详情页面。然后点击“通道”,进入到显示通道相关信息的页面。默认情况下没有通道,可以点击区块链详情页面的“新建通道”按钮。
在弹出的“新建通道”对话框中输入通道标识和描述信息,选择希望管理的联盟,点击"发送创建请求到客户端"按钮,如下图所示。
此后用户需要运行点融区块链客户端并且登录,点击"批准"按钮同意该创建请求。
注意上一步用户批准创建通道请求后,系统只是收集了对创建通道的签名(以后会支持收集联盟链中多个成员的签名),通道并没有真正被创建。 如果需要在区块链中真正创建通道并立即生效,需要在客户端进一步确认,如下图所示:
再刷新前端的区块链详情页面,可以看到刚刚新建的通道状态已经由“等待确认”变为"就绪"。
增加节点
当第一次为该通道添加节点时,首先需要从区块链上同步该通道配置到BaaS平台。然后添加节点时,会使用该通道的配置才能完成添加节点。如下图所示,点击“发送同步请求到客户端”按钮。
下一步用户需要在点融区块链客户端批准同步通道配置请求。
接下来我们选择需要加入该通道的节点。如果节点加入了一个通道,它就能获取该通道的所有数据,该节点必须属于该通道关联的联盟中的某个组织。 用户点击上图中的“增加节点”按钮,将显示"增加节点到通道"对话框,如下图所示。选好Peer节点后,点击“发送加入请求到客户端”按钮。
下一步用户需要在点融区块链客户端批准加入通道请求。
配置组织的Anchor Peer
为该通道增加节点之后,接下来可以继续设置那些节点为Anchor Peer。点击“配置组织”按钮,将显示"配置组织"对话框,一次只能为一个组织设置Anchor Peer,如下图所示。选好Anchor Peer节点后,点击“发送加入请求到客户端”按钮。
此后用户需要运行点融区块链客户端并且登录,点击"批准"按钮同意该配置请求。
添加Orderer组织
区块链创建成功之后,在Fabric中默认就有一个系统通道。系统通道中存储了联盟的信息,所以创建联盟,本质上也是对系统通道的更新。系统通道中还存储了Orderer组织和Orderer节点的信息,所以创建的应用通道会默认继承系统通道中的Orderer组织和Orderer节点的配置信息。
在应用通道创建出来之后,也可以往应用通道中增加共识组织,操作流程和系统通道相同。下面以系统通道作为示例。
展开系统通道,可以看到当前系统通道中的Orderer组织和Orderer节点列表。
如果有联盟链成员加入后,同时该联盟链成员也创建了Orderer组织和Orderer节点。那么点击增加共识组织按钮。选中需要添加的Orderer组织,然后点击发送加入请求到客户端按钮。
下一步用户需要在点融区块链客户端批准增加共识组织的请求。
注意上一步用户批准增加共识组织的请求后,系统只是收集了对增加共识的签名。 如果需要在区块链中真正增加共识组织并立即生效,需要在客户端进一步确认,如下图所示:
配置Orderer节点
通常区块链中会有多个Orderer节点,可以在系统通道或应用通道中随时配置Orderer节点的列表。如果在系统通道中配置了Orderer节点的列表之后,那么之后创建的应用通道会自动继承当前系统通道的Orderer节点列表。
在应用通道创建出来之后,也可以在应用通道中配置Orderer节点,操作流程和系统通道相同。下面以系统通道作为示例。
展开系统通道,可以看到当前系统通道中的Orderer组织和Orderer节点列表。
点击配置共识节点按钮,选中需要配置的Orderer节点,可以选择多个,也客户取消选择之前已经配置的Orderer节点。选择完成后,点击发送配置请求到客户端。
下一步用户需要在点融区块链客户端批准配置共识节点的请求。注意由于配置Orderer节点需要大多数Orderer组织的批准,所以这里需要Orderer组织在自己的点融区块链客户端上进行批准。在这个例子中,盟主和成员各有一个Orderer组织,所以需要盟主和成员都进行批准。如果有3个Orderer组织,那么只需要其中任意2个Orderer组织在点融区块链客户端上批准即可。如下图所示:
注意上一步用户批准配置共识节点的请求后,系统只是收集了对配置共识节点的签名。 如果需要在区块链中真正配置共识节点并立即生效,需要在客户端进一步确认,如下图所示:
配置完成后,系统通道的详情如下图所示:
设置组织在通道中的权限
默认情况下,任意组织在通道中都有读写权限。目前在通道中可以修改组织的写权限,指定特定的组织可以写通道,那么没有指定的组织就不能写通道。
点击通道旁边的更多按钮,然后点击设置组织在通道中的权限按钮,此时弹出设置组织在通道中的权限的对话框。修改组织在通道中写权限的类型为指定组织在通道中有写权限,反选不需要写权限的组织(一次只能修改一个组织的写权限),然后点击发送设置请求到客户端按钮。
修改组织在通道中的权限操作,需要通道中大多数组织的在点融区块链客户端中进行签名同意。打开点融区块链客户端,批准设置组织在通道中的权限请求.
当签名组织满足大多数的条件后,在通道创建者的点融区块链客户端上,可以看到确认设置组织在通道中的权限的请求。点击批准按钮,最后确认该请求生效。