我正在使用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脚本,...
> This chain code function should call a Python script, do something and
written the results to the chaincode function.