我正在开发一个基于余额转移示例的hyperledger fabric应用程序,该应用程序目前无法注册用户。我有一些组织,例如银行,案件经理。。。一开始是由于缺乏联系(我添加的一些组织)引发了错误消息,但在我添加了一些行以创建联系后,出现了一些奇怪的消息。。。。我只允许注册一个用户。如果我尝试注册更多,它将显示:
[ERROR] Helper - Failed to get registered user: userABC with error: Error: Enrollment failed with errors [[{"code":0,"message":"2 rows were affected when updating the state of identity userABC"}]]
我已经找了这么久,仍然找不到答案。请帮忙!!!
代码:
var registerUser = async function (params) {
try {
var userOrg = params.userOrg;
var org = params.org;
var username = params.username;
var client = await getClientForOrg(userOrg, username, true);
logger.debug('Successfully initialized the credential stores');
var user = await client.getUserContext(username, true);
if (user && user.isEnrolled()) {
logger.info('Successfully loaded member from persistence');
} else {
logger.info('User %s was not enrolled, so we will need an admin user object to register', username);
var admins = hfc.getConfigSetting('admins');
let adminUserObj = await client.setUserContext({ username: admins[0].username, password: admins[0].secret });
let caClient = client.getCertificateAuthority();
let affiliationService = caClient.newAffiliationService();
console.log("passed 1");
let registeredAffiliations = await affiliationService.getAll(adminUserObj);
console.log("passed 2");
if (!registeredAffiliations.result.affiliations.some(
x => x.name == org)) {
let affiliation = org + '.department1';
await affiliationService.create({
name: affiliation,
force: true
}, adminUserObj);
}
console.log("passed 3");
let secret = await caClient.register({
enrollmentID: username,
role: 'user',
affiliation: org + '.department1'
}, adminUserObj);
console.log("passed 4");
logger.debug('Successfully got the secret for user %s: %s', username, secret);
user = await client.setUserContext({ username: username, password: secret });
user.setRoles(['client']);
user._enrollmentSecret = secret.toString();
user = await client.setUserContext(user);
logger.debug('Successfully enrolled username %s and setUserContext on the client object', username);
}
if (user && user.isEnrolled) {
var response = {
success: true,
secret: user._enrollmentSecret,
message: username + ' enrolled Successfully in ' + userOrg,
};
console.log(response);
return response;
} else {
throw new Error('User was not enrolled ');
}
} catch (error) {
logger.error('Failed to get registered user: %s with error: %s', username, error.toString());
return 'failed: ' + error.toString();
}
};
我注意到的一件事是,如果注册/注册不成功,调试行“passed 2”和“passed 3”将在控制台中打印两次。因此,在这种情况下,周围的线路将不止运行一次。
我没有阅读/理解所有的代码,但记录另一端发生的事情可能会有所帮助。因此,请查看ca的日志,看看哪里失败了。也可能只是拼写问题。
registration-server.yml为: docker-compose文件为: eureka的两个实例,即server-1和server-2都运行良好。但他们没有互相注册。 有关更多信息,已附上屏幕截图:Server-1 server-2
我在Hyperledger结构节点SDK中遇到问题。 网络详情: 该网络由4个组织组成,每个组织部署在不同的库伯内特斯集群上。 每个组织有2个同行加入了一个渠道,比如myChannel。 每个组织有1个CA运行。 订购服务是Raft. CouchDB用作statedb。 来自CLI的调用也正常工作,数据正在所有8个对等体之间同步。 Hypelredger Explorer已经启动并运行了一个组织的
我有一个由3个orgs和两个频道组成的网络。
我有一个docker容器运行AWS弹性容器服务(Fargate)中的confluentinc/cp模式注册表:5.5.0。只有一个容器正在运行。通过该模式注册表获取当前注册模式的API调用正在工作(例如,
我已经在Ubuntu 16.04机器上安装了合流平台,并初步配置了zookeeper、Kafka和ksql,启动了合流平台。我可以看到下面的消息。 现在一切都启动了,当我检查融合平台的状态时,我观察到Schema注册表,连接 我已经检查了schema注册表的日志,找到了下面的日志。
我试图在多主机环境中使用docker群设置第一个网络示例,首先使用以下配置: 新主机 订货员 Org1-pee0 Org1-peer1 CLI 2号旅社 Org2-pee0 Org2-pee1 我只是换了码头工人。yaml使其与swarm兼容(代码如下)。我无法将Host2/Org2对等点添加到频道。 按顺序执行以下步骤: byfn-m生成 docker stack deploy——编写文件doc