Giter VIP home page Giter VIP logo

fabric-sdk-kvs-mongo's Introduction

fabric-sdk-kvs-mongo

mongodb kvs for fabric-sdk-node

Install

npm i fabric-sdk-kvs-mongo

Config

  1. 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"
  1. config fabric-sdk-node to use fabric-ca-kvs-mongo
const Client = require('fabric-client');

// this code config the fabric-sdk-node to use fabric-sdk-kvs-mongo
Client.setConfigSetting('key-value-store', 'fabric-sdk-kvs-mongo');

// this load the network.yaml from step 1
const client = Client.loadFromConfig('<some-path-to-your-network.yaml>');

// init credential stores
await client.initCredentialStores();

// then it's done.

// Next time you just need to load this use again from state store
const user = await client.loadUserFromStateStore(username);
await client.setUserContext(user);

// 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();

fabric-sdk-kvs-mongo's People

Contributors

zhaochy1990 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.