Hyperledger Fabric:从使用Node SDK编写的链式代码中调用Python脚本

问题描述 投票:0回答:1

我正在使用Hyperledger Fabric开发应用程序,其中用nodeJS编写的应用程序调用也用nodeJS编写的链码功能。此链代码函数应调用Python脚本,执行某些操作并将结果写入chaincode函数。此chaincode函数应将Python脚本返回的结果存储在分类帐上,并将成功的存储状态返回给调用应用程序。我试图通过以下方式使用nodeJS给出的子进程模块来做到这一点->

async mergeModel(ctx, modelNumber1, modelNumber2) {
    console.info('============= START : Merge Model ===========');
    const modelAsBytes1 = await ctx.stub.getState(modelNumber1); // get the model from chaincode state
    const modelAsBytes2 = await ctx.stub.getState(modelNumber2); // get the model from chaincode state

    if (!modelAsBytes1 || modelAsBytes1.length === 0) {
        throw new Error(`${modelNumber1} does not exist`);
    }
    if (!modelAsBytes2 || modelAsBytes2.length === 0) {
        throw new Error(`${modelNumber2} does not exist`);
    }
    const spawn = require('child_process').spawn;
    const pythonProcess = spawn('python',['mergeModel.py', modelAsBytes1, modelAsBytes2]);
    pythonProcess.stdout.on('data', (data) => {
        console.log(data);
    });
}

Python脚本mergeModel.py与链码存储在同一目录中。但是,这没有像预期的那样调用python脚本。有什么我想念的吗?谢谢。

我正在使用Hyperledger Fabric开发应用程序,其中用nodeJS编写的应用程序调用也用nodeJS编写的链码功能。此链代码函数应调用Python脚本,...

hyperledger-fabric hyperledger-fabric-sdk-js
1个回答
1
投票
> This chain code function should call a Python script, do something and
  written the results to the chaincode function.
© www.soinside.com 2019 - 2024. All rights reserved.