下面介绍三种,将参与者添加到参与者库的方法。
共通的CTO文件:
namespace com.cn.firstNetwork
participant Company identified by companyId {
o String companyId
o String companyName
o String role
}
第一种方法,将参与者添加到参与者库(javaScript)
const BusinessNetworkConnection = require('composer-client').BusinessNetworkConnection;
let businessNetworkConnection = new BusinessNetworkConnection();
return businessNetworkConnection.connect('admin@firstNetwork')
.then(() => {
return businessNetworkConnection.getParticipantRegistry('com.cn.firstNetwork');
})
.then((participantRegistry) => {
let factory = businessNetworkConnection.getFactory();
let participant = factory.newResource('com.cn.firstNetwork', 'Company', 'Company001');
participant.companyName = 'Company001';
participant.role = 'user';
return participantRegistry.add(participant);
})
.then(() => {
return businessNetworkConnection.disconnect();
})
.catch((error) => {
console.error(error);
process.exit(1);
});
第二种方法,将参与者添加到参与者库(javaScript)
const ParticipantAdd = require('composer-cli').Participant.Add;
const namespace = "com.cn.firstNetwork.Company";
const companyId = "Company002";
const companyName = "Company002";
const role = "user";
let newParticipant = '{ ' +
'"$class": "' + namespace + '",' +
' "companyId" : "' + companyId + '",' +
' "companyName" : "' + companyName + '",' +
' "role" : "' + role +
' "}';
console.log(newParticipant);
let options = {
card: 'admin@firstNetwork',
data: newParticipant
};
ParticipantAdd.handler(options)
.catch((error) => {
console.error(error);
});
第三种方法,命令行:
composer participant add -c admin@network -d '{"$class":"com.cn.firstNetwork.Company","companyId":"Company003","companyName":"Company003","role":"user"}'
将参与者添加到参与者库之后,就可以按照上一篇文章
【
Hyperledger Composer 给已创建的User发放新的身份,并将新身份导入钱包
】发放新身份以及把新身份导入到钱包,来参与到业务网络了。