Blockchain hyperledger结构块复制

Blockchain hyperledger结构块复制,blockchain,hyperledger,hyperledger-fabric,Blockchain,Hyperledger,Hyperledger Fabric,是否有办法将链码的不同方面(即世界状态、键、其他属性)从一个链码复制到另一个链码?我正在进行试验,但我可以预见一个场景,在这个场景中,我需要更改一些go代码并进行部署 部署将基本上创建一个具有自己状态的新链码。假设我想访问前一个链码中的密钥。我是否需要跟踪结构中以前的所有链码ID?有没有办法将所有密钥合并到新部署的链码中?Fabric 1.0中有两种功能可以帮助您 1) 链码。假设第一个链码是版本1。如果您的新链码具有相同的名称,但您只是增加了版本号,那么在实例化时,新链码将继承第一个链码的完整

是否有办法将链码的不同方面(即世界状态、键、其他属性)从一个链码复制到另一个链码?我正在进行试验,但我可以预见一个场景,在这个场景中,我需要更改一些go代码并进行部署


部署将基本上创建一个具有自己状态的新链码。假设我想访问前一个链码中的密钥。我是否需要跟踪结构中以前的所有链码ID?有没有办法将所有密钥合并到新部署的链码中?

Fabric 1.0中有两种功能可以帮助您

1) 链码。假设第一个链码是版本1。如果您的新链码具有相同的名称,但您只是增加了版本号,那么在实例化时,新链码将继承第一个链码的完整状态。第一个链码将不再可调用

2) 链代码到链代码调用。第二个链码可以使用调用第一个链码。 这可以在实例化时在新链码的Init()函数中完成,从第一个链码读取所有相关状态,并在第二个链码中创建关联状态。或者,第二个链码可以在传统调用期间根据需要调用第一个链码,以引用或复制特定事务所需的任何状态

当然,要利用解决方案#2,您需要在第一个链码上提供正确的查询函数。如果您没有这些,那么您可以使用组合解决方案。首先,使用解决方案#1升级第一个链码以添加所需的正确查询函数,然后使用解决方案#2从全新的链码中调用这些新查询函数