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

标签 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 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 函数示例使用 Promises(页面附近)-> https://hyperledger.github.io/composer/reference/js_scripts.html

Async/await 的前提是,async 函数的结果始终是一个 Promise。该 Promise 是在开始执行异步函数时创建的。尸体被处决。执行可以通过 return 或 throw 永久完成。

请参阅此处的示例 https://github.com/hyperledger/composer-sample-networks/blob/master/packages/digitalproperty-network/lib/DigitalLandTitle.js

关于node.js - 如何使用 Hyperledger Composer API 管理交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48198418/

相关文章:

hyperledger-fabric - 是否可以更新或更改部署在 Hyperledger 网络中的智能合约(链码)

docker - ERRO:尝试连接到本地对等方时出错:grpc:尝试连接时超时

hyperledger - 在 Hyperledger Composer 中查询嵌套 Assets

docker - 在composer中将主机名更改为docker可解析的主机名

javascript - sequelize 用小时 = 2 解释日期

javascript - 无法在哈巴狗上显示图像

node.js - 如何在 Nodejs MongoDb 中进行连接连接池

html - 当我重建音频文件时,如何编码和分段音频文件而不会在段之间有间隙(或音频弹出)?

blockchain - super 账本结构 : How private keys are stored in Hyperledger?

php - 有没有办法将 Hyperledger Fabric Composer 命令从 'composer' 重命名为其他名称?