使用增强的 权限
管理 enhanced permissioning model 可以大致分为以下活动:
初始网络设置
请参考 设置 。对于运行旧版本 GoQuorum 的现有网络:
将 GoQuorum 升级到最新版本
部署合约
从监护人账户执行 PermissionsUpgradable.sol 的 init 方法
将 permission-config.json 复制到各个节点的 data 目录下
以 --permissioned 模式启动 geth 。
对于使用最新版本的 GoQuorum 的新网络:
调出初始节点集
部署合约
从监护人账户执行 PermissionsUpgradable.sol 的 init 方法
将 GoQuorum 升级到最新版本
将 permission-config.json 复制到各个节点的 data 目录下
以 --permissioned 模式启动 geth 。
作为网络初始化的一部分:
使用在 permission-config.json 中指定的 nwAdminOrg 名称创建网络管理员组织。属于 static-nodes.json 的所有节点都分配给该组织。
使用配置文件中指定的 nwAdminRole 名称创建网络管理员角色。
所有帐户中给 有配置文件数组 的 accounts 都被分配了网络管理员角色。这些帐户将能够提议和批准新组织加入网络。
提议在网络中建立一个新组织
组织管理员管理组织级别权限
一旦组织获得批准并且组织的节点加入网络,组织管理员可以:
创建子组织、角色,在组织级别添加其他节点。
将帐户添加到组织。
更改现有组织级别帐户的角色。
要在 ORG1 级别添加子组织,请参阅 addSubOrg API 。
对于添加子组织, enode id 不是强制性的。
对于新创建的子组织,如果组织管理员希望添加管理帐户,则组织管理员帐户必须首先创建一个 isAdmin 标志为 Y 的角色,然后将此角色分配给属于子组织的帐户。
分配后,该帐户将在子组织级别充当组织管理员。
请参阅 addNewRole API . 。
现在可以将角色 SUBADMIN 分配给子组织 SUB1 的帐户,以便为子组织设置帐户管理员。
要向组织添加账户,请参阅 addAccountToOrg API 。
要暂停账户,可以调用 updateAccountStatus API , 将 status 的值设为 1 :
要撤销账户的暂停,可以调用 updateAccountStatus API , 将 status 的值设为 2 :
要移除一个账户,可以调用 updateAccountStatus API , 将 status 的值设为 3
一旦排除,该帐户将无法进行进一步的活动。
由组织管理员在组织和子组织级别添加节点 add Nodes 。
组织管理员可以使用 updateNodeStatus API 管理节点的状态。
要停用节点,可以使用值为 1 的操作调用 API 。
要重新激活节点,请使用值为 2 的操作调用 updateNodeStatus API 。
要排除节点,请使用操作值 3 调用 updateNodeStatus API 。
一旦被排除,该节点将永远无法再次加入网络。
更多:
帐户可以从链接到同一组织中的组织或子组织的任何节点进行交易
如果一个节点被停用,则该节点将不允许进行任何交易
暂时暂停组织
如果需要暂停组织的所有活动, updateOrgStatus API 可以使用 action 值 1 调用。
这只能由网络管理员帐户调用,并且需要多数投票。
要批准组织,需要暂停其他网络管理员帐户的多数批准。
相同的 api 是 approveOrgStatus 。
一旦获得批准,组织状态将被标记为暂停。
当组织被暂停时,不允许来自与组织或它下的子组织相关联的任何帐户的交易。 但是,链接到组织的节点将处于活动状态,并将与网络同步。
撤销对组织的暂停
要撤销组织 updateOrgStatus 的暂停,可以使用操作值 2 调用 。
这将需要多数批准( API approveOrgStatus ,操作值为 2 )。
一旦撤销获得批准,组织和子组织中的所有账户都将能够按照角色级别的访问权限进行交易。
在组织和网络级别分配管理员权限
可能存在这种情况:组织级别的帐户之一需要具有网络管理员级别的权限并能够执行网络管理员活动。
同样,可能需要在组织级别更改管理员帐户。
这两项活动只能由现有的网络管理员帐户执行,并且需要网络管理员帐户的多数批准。
API使用详情
要将网络管理员或组织管理员角色分配给帐户,请调用 assignAdminRole 。
要批准网络管理员角色的分配,请调用 approveAdminRole API 。
上述帐户现在可以执行网络管理员帐户允许的所有活动,并且可以参与网络级别的任何操作批准过程