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

问题描述 投票:0回答:1

我试图通过编写脚本在hyperledger作曲家中创建新的参与者和资产。请帮我这样做。如果不可能请让我理解原因。请同时提供示例代码片段。

谢谢

hyperledger-composer
1个回答
1
投票

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

对于您的用例,您要在其中创建脚本以添加这些资源,您需要使用transaction processor functions。在这些函数中,您将使用registryfactory来创建参与者和资产。此外,请记住,在创建事务处理器函数之前,您首先需要创建一个事务资源。

以下示例代码:

假设我们有一个参与者用户。要创建此参与者,我们使用事务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以获得进一步的参考。

© www.soinside.com 2019 - 2024. All rights reserved.