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

How to write scripts to create new participants and assets in hyperledger composer?

我正在尝试通过编写脚本在 hyperledger composer 中创建新的参与者和资产。请帮助我做到这一点。如果不可能,请让我理解 reason.Please 同时提供示例代码片段。

谢谢

快速背景,参与者和资产是您使用 Composer Modeling Language 建模的 "resources"。其他资源是交易和事件。

对于您想要创建脚本来添加这些资源的用例,您需要使用 transaction processor functions. In these functions, you'll utilize the registry and factory 来创建参与者和资产。另外,请记住,在创建事务处理器函数之前,您首先需要创建一个事务资源。

示例代码如下:

假设我们有一个参与者用户。为了创建这个参与者,我们使用事务 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);
    }
}

您可以参考official composer documentation进一步参考。