Hyperledger composer 如何编写脚本在hyperledger composer中创建新的参与者和资产?

Hyperledger composer 如何编写脚本在hyperledger composer中创建新的参与者和资产?,hyperledger-composer,Hyperledger Composer,我试图通过编写脚本在hyperledger composer中创建新的参与者和资产。请帮我做那件事。如果不可能,请让我了解原因。请同时提供示例代码段 谢谢你一个简单的背景,参与者和资产是你建模使用的“资源”。其他资源是事务和事件 对于您想要创建脚本来添加这些资源的用例,您需要使用。在这些函数中,您将利用和来创建参与者和资产。另外,请记住,在创建事务处理器函数之前,首先需要创建事务资源 下面是一个示例代码: 假设我们有一个参与者用户。为了创建这个参与者,我们使用事务CreateUser。因此,您的

我试图通过编写脚本在hyperledger composer中创建新的参与者和资产。请帮我做那件事。如果不可能,请让我了解原因。请同时提供示例代码段


谢谢你

一个简单的背景,参与者和资产是你建模使用的“资源”。其他资源是事务和事件

对于您想要创建脚本来添加这些资源的用例,您需要使用。在这些函数中,您将利用和来创建参与者和资产。另外,请记住,在创建事务处理器函数之前,首先需要创建事务资源

下面是一个示例代码:

假设我们有一个参与者用户。为了创建这个参与者,我们使用事务CreateUser。因此,您的模型文件将是:

namespace org.network.participants

participant User identified by userId {
  o String userId
  o String name
  o String email
}

transaction CreateUser {
  o User userDetails
}
/**
 * 
 * @param {org.network.participants.CreateUser} transactionRequest 
 * @transaction
 */
async function createUser(transactionRequest) {

    try {
        let userDetails = transactionRequest.userDetails;
        let userRegistry = await getParticipantRegistry('org.network.participants.User');
        let factory = await getFactory();
        let user = await factory.newResource('org.network.participants', 'User', userDetails.userId);

        user.name = userDetails.name;
        user.email = userDetails.email;

        return userRegistry.add(user);
    } catch(exception) {
        throw new Error(exception);
    }
}
您的脚本文件将是:

namespace org.network.participants

participant User identified by userId {
  o String userId
  o String name
  o String email
}

transaction CreateUser {
  o User userDetails
}
/**
 * 
 * @param {org.network.participants.CreateUser} transactionRequest 
 * @transaction
 */
async function createUser(transactionRequest) {

    try {
        let userDetails = transactionRequest.userDetails;
        let userRegistry = await getParticipantRegistry('org.network.participants.User');
        let factory = await getFactory();
        let user = await factory.newResource('org.network.participants', 'User', userDetails.userId);

        user.name = userDetails.name;
        user.email = userDetails.email;

        return userRegistry.add(user);
    } catch(exception) {
        throw new Error(exception);
    }
}

您可以参考进一步的参考。

您好,Mrudav,我对区块链和hyperledger非常陌生。你能帮我理解超级分类账区块链的结构吗?当然可以。你可以从一开始。在这里,您可以开始阅读整个生态系统中涉及的架构、流程和组件。此外,如果您在任何时候都觉得卡住了,您可以在fabric频道上发布您的问题。社区很有帮助。此外,如果需要,你可以在那里ping。