fabric-ca-kvs-mongo
mongodb kvs for fabric-sdk-node
Install
npm i fabric-ca-kvs-mongo
Config
- config your network definition to use mongodb credentialStore
# your network.yaml client: # Since the node.js SDK supports pluggable KV stores, the properties under "credentialStore" # are implementation specific credentialStore: url: "mongodb://localhost:27017" dbname: "org1" collectionName: "credential" # Specific to the CryptoSuite implementation. Software-based implementations like # CryptoSuite_ECDSA_AES.js requires a key store. PKCS#11 based implementations does # not. cryptoStore: # Specific to the underlying KeyValueStore that backs the crypto key store. url: "mongodb://localhost:27017" dbname: "org1" collectionName: "crypto"
- config fabric-sdk-node to use fabric-ca-kvs-mongo
const Client = ; // this code config the fabric-sdk-node to use fabric-sdk-kvs-mongoClient; // this load the network.yaml from step 1const client = Client; // init credential storesawait client; // then it's done. // Next time you just need to load this use again from state storeconst user = await client;await client; // do some invoke/query with this user's identity// Enjoy!
Check the credentials from mongodb
# suppose you followed the instructions above and make no change. # and you start your mongodb like this mongodb: container_name: mongo image: mongo ports: - 27017:27017
use mongo shell to see what is in the credentials store.
$ mongo
> show dbs;
...
org1 0.000GB
org2 0.000GB
> use org1;
switched to db org1
> show collections;
credential
crypto
> db.credential.find();
> db.crypto.find();