Hyperledger Fabric 1.4:我们如何定义资产?

德拉吉·库马尔

以前,我在 Hyperledger Composer 上开发了我的应用程序。现在我正在尝试将应用程序迁移到 Hyperledger Fabric 1.4。

我根据 Fabric 1.4 文档实现了 Commercial-Paper 教程,您可以在此处找到一切正常。

现在我想根据我的应用程序定制它并想定义更多资产。

他们在commerce-paper/organization/digibank/contract/lib 有一个文件paper.js,这是“纸”资产的定义吗?

如果我需要定义额外的资产,我是否还要在同一位置创建一个文件 myasset.js 然后调用智能合约?

或者有没有更好的方法来定义资产?

PS:我正在尝试将 Hyperledger Composer 中的资产映射到 Hyperledger Fabric 1.4。

此外,您如何定义资产与参与者或其他资产之间的关系?在Composer中我们曾经使用-->来定义关系,我们如何实现fabric-1.4一样的东西?

德拉吉·库马尔

我相信我找到了我自己问题的答案,我希望这能帮助任何处于类似情况的人(从 Hyperledger Composer 迁移到 Fabric 1.4)

ctx.stub.putState(key, data); 

我们简单地使用上面的代码来添加一个资产。在 fabcar 示例中可以找到一个非常简化的版本。

async createCar(ctx, carNumber, make, model, color, owner) {
    console.info('============= START : Create Car ===========');

    const car = {
        color,
        docType: 'car',
        make,
        model,
        owner,
    };

    await ctx.stub.putState(carNumber, Buffer.from(JSON.stringify(car)));
    console.info('============= END : Create Car ===========');
}

在这里,我们添加了一辆汽车,这是一项资产。

在商业票据示例中,他们使用面向对象的方法完成了这项工作。使用 paper.js,他们只是创建一个“paper”对象(paper 类扩展 state 类。State 类具有创建和拆分键的方法,稍后将使用),然后将其传递给“paperlist”,然后使用定义的方法在 statelist.js(paperlist 类扩展 statelist 类,它具有将状态写入分类帐的所有方法)中使用以下代码创建此资产

 async addState(state) {
    let key = this.ctx.stub.createCompositeKey(this.name, state.getSplitKey());
    let data = State.serialize(state);
    await this.ctx.stub.putState(key, data);
}

在这里您可以观察到密钥是使用 state 类中的方法生成的,该类是由 paper 类继承的。

关于关系的最后一个问题,我还没有找到具体的答案,但我相信您可以通过传递参与者 ID 或资产 ID 来实现这一点(例如:用户由 userId 标识,因此我们只需传递userId) 在数据对象中。

事后看来,这个问题看起来很愚蠢,但我希望它可以帮助一些人。

请随时纠正我对 Hyperledger 示例的理解。我是来学习的:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何对Hyperledger Fabric进行审核?

来自分类Dev

我们可以使用 hyperledger composer 应用 hyperledger fabric 的背书政策吗?

来自分类Dev

Hyperledger Fabric:我们应该使用 Fabric 还是 Docker 提供的 TLS?

来自分类Dev

如何使用grafana监视Hyperledger Fabric网络?

来自分类Dev

Hyperledger Fabric安全性如何?

来自分类Dev

如何使用 Hyperledger Fabric 部署链代码?

来自分类Dev

如何在 Hyperledger Fabric 中更新资产之前检查条件

来自分类Dev

我如何在Hyperledger Fabric中获得唯一的ID

来自分类Dev

Hyperledger fabric Crypto materials

来自分类Dev

Hyperledger Fabric的ChannelCreationPolicy

来自分类Dev

Hyperledger Fabric 通道

来自分类Dev

Hyperledger Fabric 中的 GOPATH

来自分类Dev

在Hyperledger Fabric中启动自定义网络时出错

来自分类Dev

关于 node.js 的 Hyperledger Fabric SDK 类型定义

来自分类Dev

我可以使用Hyperledger Fabric进行实时应用吗?

来自分类Dev

我选择的Hyperledger Fabric插件状态数据库

来自分类Dev

如何使用Hyperledger Fabric Network SDK查询Chaincode Metada

来自分类Dev

Hyperledger Fabric EVM如何从公钥生成地址?

来自分类Dev

如何在 Hyperledger Fabric 中创建新块

来自分类Dev

Hyperledger Fabric 中的事务回滚是如何工作的?

来自分类Dev

如何使用Fabric Contract-API检索在Hyperledger Fabric中发起交易的用户的身份?

来自分类Dev

Hyperledger Fabric区块链信息

来自分类Dev

Hyperledger Fabric-Fabcar性能

来自分类Dev

Hyperledger Fabric 2.1 Chaincode安装

来自分类Dev

Hyperledger Fabric活动交付保证

来自分类Dev

Hyperledger Fabric 上的 Gossip 协议

来自分类Dev

Hyperledger Fabric cli 容器的作用

来自分类Dev

Hyperledger Fabric版本2:如何通过使用Fabric Node SDK 2.2查询块头,例如数据哈希,以前的哈希

来自分类Dev

在Hyperledger Fabric中,始终未定义getHistoryForKey()中的事务ID

Related 相关文章

  1. 1

    如何对Hyperledger Fabric进行审核?

  2. 2

    我们可以使用 hyperledger composer 应用 hyperledger fabric 的背书政策吗?

  3. 3

    Hyperledger Fabric:我们应该使用 Fabric 还是 Docker 提供的 TLS?

  4. 4

    如何使用grafana监视Hyperledger Fabric网络?

  5. 5

    Hyperledger Fabric安全性如何?

  6. 6

    如何使用 Hyperledger Fabric 部署链代码?

  7. 7

    如何在 Hyperledger Fabric 中更新资产之前检查条件

  8. 8

    我如何在Hyperledger Fabric中获得唯一的ID

  9. 9

    Hyperledger fabric Crypto materials

  10. 10

    Hyperledger Fabric的ChannelCreationPolicy

  11. 11

    Hyperledger Fabric 通道

  12. 12

    Hyperledger Fabric 中的 GOPATH

  13. 13

    在Hyperledger Fabric中启动自定义网络时出错

  14. 14

    关于 node.js 的 Hyperledger Fabric SDK 类型定义

  15. 15

    我可以使用Hyperledger Fabric进行实时应用吗?

  16. 16

    我选择的Hyperledger Fabric插件状态数据库

  17. 17

    如何使用Hyperledger Fabric Network SDK查询Chaincode Metada

  18. 18

    Hyperledger Fabric EVM如何从公钥生成地址?

  19. 19

    如何在 Hyperledger Fabric 中创建新块

  20. 20

    Hyperledger Fabric 中的事务回滚是如何工作的?

  21. 21

    如何使用Fabric Contract-API检索在Hyperledger Fabric中发起交易的用户的身份?

  22. 22

    Hyperledger Fabric区块链信息

  23. 23

    Hyperledger Fabric-Fabcar性能

  24. 24

    Hyperledger Fabric 2.1 Chaincode安装

  25. 25

    Hyperledger Fabric活动交付保证

  26. 26

    Hyperledger Fabric 上的 Gossip 协议

  27. 27

    Hyperledger Fabric cli 容器的作用

  28. 28

    Hyperledger Fabric版本2:如何通过使用Fabric Node SDK 2.2查询块头,例如数据哈希,以前的哈希

  29. 29

    在Hyperledger Fabric中,始终未定义getHistoryForKey()中的事务ID

热门标签

归档