验证和安装Hyperledger Fabric链码



我们希望与我们共享的Hyperledger Fabric网络上的合作伙伴组织交换签名的CDS软件包。我们正在根据 https://hyperledger-fabric.readthedocs.io/en/latest/chaincode4noah.html#packaging 的操作指南工作。

我们能够毫无问题地接收和安装签名的软件包,但是我们如何知道我们正在安装什么?我们的安装过程要求检查我们收到的内容,并可能针对我们打算安装的对象创建测试。

我的问题是:我们如何能够检查合作伙伴组织要求我们安装的源代码?如果我们不能对其进行检查,我们就没有期望我们达成的共识的真正透明度。

我们尝试从 .pak 文件中扩展 gzip 对象并取消压缩它,但.gz格式似乎不是标准格式。我怀疑我们在这里缺少一些基本的东西,无论是在程序还是工具上。

作为参考,我们提取的代码段如下:

protoc --decode_raw < test_cc_signed_package.pak > test_cc_signed_package.decoded

然后我们像这样提取 gzip 的"代码"部分(在我们的示例签名包中,它位于文件的"1.2.1.3",但对您来说可能有所不同(

cat test_cc_signed_package.decoded | grep "^      3:" | sed -r 's/^      3: "(.*)"$/1/'

输出采用我们可以执行差异的格式,我们希望将其保存到二进制文件中并简单地将其压缩。然而,Gzip 拒绝解码文件,并在 xxd 中检查它,我们可以看到 gzip 的格式不正确。

也许您可以要求合作伙伴组织向您发送打包的文件,以便您可以自己打包,然后将该软件包与您应该安装的软件包进行比较?

最新更新