当前正在使用最新版本的hyperledger开发环境,并且正在通过管理服务进行工作。 admin的示例代码 - >部署被记录为:超级作曲作者部署示例代码失败
// Deploy a Business Network Definition
var adminConnection = new AdminConnection();
var businessNetworkDefinition = BusinessNetworkDefinition.fromArchive(myArchive);
return adminConnection.deploy(businessNetworkDefinition)
.then(function(){
// Business network definition deployed
})
.catch(function(error){
// Add optional error handling here.
});
在代码提供,如BusinessNetworkDefinition
不是作曲家管理员节点模块的一部分的第二行失败。我有两个创建BusinessNetworkDefinition的选项,一个是使用composer-client。这种失败,出现以下消息:TypeError: composerClient.BusinessNetworkDefinition is not a constructor
用于此尝试的代码总结如下:
'use strict';
var fs = require('fs');
var path = require('path');
var composer = require('composer-admin');
var composerClient = require('composer-client');
var composerCommon = require('composer-common');
var businessNetworkDefinition = new composerClient.BusinessNetworkDefinition();
另一种选择是使用作曲家常见,它失败,出现以下消息:TypeError: businessNetworkDefinition.fromArchive is not a function
代码用于此尝试是:
var fs = require('fs');
var path = require('path');
var composer = require('composer-admin');
var composerClient = require('composer-client');
var composerCommon = require('composer-common');
var net_identifier = "[email protected]";
var net_description = "Z2B network";
var net_package = require("../../../../network/package.json");
var net_readme = "../../../../README.md";
var businessNetworkDefinition = new composerCommon.BusinessNetworkDefinition(net_identifier, net_description, net_package, net_readme);
var archive = businessNetworkDefinition.fromArchive(req.body.myArchive);
其中req.body.myArchive
是归档文件的名称在fromArchive方法可以使用。检查通过new
命令创建的BusinessNetworkDefinition显示以下内容:
object property: modelManager
object property: aclManager
object property: queryManager
object property: scriptManager
object property: introspector
object property: factory
object property: serializer
object property: metadata
于是,两个问题:
- 一:什么是用
new
命令创建和 - 二:如何正确地创建一个
BusinessNetworkDefinition
对象,其中作为fromArchive()
的函数呢?