当前位置: 代码迷 >> 综合 >> 【composer开发-API】network card store
  详细解决方案

【composer开发-API】network card store

热度:78   发布时间:2023-12-29 06:50:12.0

Card是怎么存储的;
wallet是怎么回事;
一些API。

这个就是fabric注册相关吧!

Card的存储方式:

(1)file system
(2)memory(RAM)
(3)Database
(4)cloud storage

wallet

wallet是用户到fabric网络的一个中间件。可以将它看作是一个收集cards的中间件。
当用户想要访问fabric网络的时候,composer就从wallet里面找出这个用户的card并用这个card登录fabric网络。(机智!)
每个用户都有一个wallet?开发者自己选择将card存储在哪里。(上面四选一)

API

Commom

IdCard class

此类封装了business network card的一些属性。
这个类可以获得card中的一些属性【user name,credentials,role,metadata】,他可以从一个archive或者一个目录中加载一个card。
可以用这个类新建一个card并存放在archive或者目录中。

BusinessNetworkCardStore class【abstract类】

这个类用来管理card。
它可以access到现在正在机器上面用的card,可以查看这个card是否存在,可以添加和删除card。

一些函数:

IdCard get(cardName)获得一部分card
IdCard getall() 获得所有card
bool has(cardName) 是否存在某个card
delete(cardName)
put(cardName,IdCard)

需要用这个类的话,需要用NetworkCardStoreManager这个实例。

NetworkCardStoreManager

可以讲NetworkCardStoreManager看做一个工厂,生产store实例的工厂。

这是代码片段,显示如何访问网卡存储管理器的常见实例。

const NetworkCardStoreManager = require('composer-common').NetworkCardStoreManager

这个类有一个函数:

getCardStore(type)
它将wallet的type作为一个参数,在composer API 中有两种预定义的钱包类型composer-wallet-filesystem和composer-wallet-inmemory。
如果不指定type,composer-wallet-filesystem是默认参数。

例子在
http://github.com/acloudfan/HLF-Fabric-API
的manage-cards.js

  相关解决方案