包装链码有两种方法。一个是当你想拥有一个链码的多个所有者,因此需要使用多个身份签署的链码包。这个工作流程要求我们最初创建一个签名的链码包(SignedCDS),随后将其连续传递给其他所有者进行签名。更简单的工作流程是在部署仅具有发出安装事务的节点的标识签名的SignedCDS时。

  我们将首先处理更复杂的案例。但是,如果您不需要担心多个所有者,您可以跳到下面的“安装chaincode”部分。

  要创建一个签名的链码包,请使用以下命令:

peer chaincode package -n mycc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -v 0 -s -S -i "AND('OrgA.admin')" ccpack.out

  -s选项创建一个可以由多个所有者签名的包,而不是简单地创建一个原始的CDS。当指定-s时,如果其他所有者将需要签名,则还必须指定-s选项。否则,该过程将创建一个SignedCDS,除了CDS之外仅包括实例化策略。

  -s选项指示进程使用由core.yaml中的localMspid属性的值标识的MSP对程序包进行签名。

  -s选项是可选的。但是,如果没有签名创建包,则不能使用signpackage命令由其他所有者签名。

  可选的-i选项允许为链码指定实例化策略。实例化策略具有与认可策略相同的格式,并指定哪些身份可以实例化链码。

  在上面的例子中,只有OrgA的管理员可以实例化链码。如果没有提供策略,则使用默认策略,这仅允许对等体的MSP的管理员身份实例化链码。

results matching ""

    No results matching ""