Node.js 如何使用Hyperledger Composer API管理交易

Node.js 如何使用Hyperledger Composer API管理交易,node.js,hyperledger,hyperledger-composer,Node.js,Hyperledger,Hyperledger Composer,我使用Hyperledger Composer v0.16.0和Node.js SDK在POC中工作。我需要创建一个参与者,然后为该参与者颁发一个新身份,最后创建一张名片并将其导入我的业务网络 let createParticipantTrader = ((params) => { return new Promise(async (resolve, reject) => { try { let businessNetworkDefin

我使用Hyperledger Composer v0.16.0和Node.js SDK在POC中工作。我需要创建一个参与者,然后为该参与者颁发一个新身份,最后创建一张名片并将其导入我的业务网络

let createParticipantTrader = ((params) => {
    return new Promise(async (resolve, reject) => {
        try {
            let businessNetworkDefinition = await businessNetworkConnection.connect('admin@tutorial-network');
            let factory = businessNetworkDefinition.getFactory();
            let participantRegistry = await businessNetworkConnection.getParticipantRegistry('org.acme.biznet.Trader');
            await _createTrader(participantRegistry, factory, params);
            let newIdentity = await identity.issueNewIdentity(businessNetworkConnection, params);
            let newBusinessCard = await businessCard.createBusinessCard(newIdentity);
            await businessCard.importBusinessCard(newBusinessCard, params);
            let credentials = await _doPing(params);
            resolve(credentials);
        } catch (e) {
            reject(e);
        }
    });
});

但是,我认为代码必须在事务中运行,因为如果其中一个操作失败,则不执行回滚。我一直在寻找这样做的方法,但我发现的所有示例都是针对不同数据库的Node.js ORM


是否有使用Node.js SDK管理这些操作的选项?

因此下面的TP函数示例使用承诺(接近页面末尾)->

Async/await基于这样一个前提,即
Async
函数的结果始终是一个承诺。该承诺是在开始执行异步函数时创建的。尸体被处决了。执行可以通过返回或抛出永久完成

参见这里的示例