1.3.13 • Published 3 years ago

@getunid/node-wallet-sdk v1.3.13

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years ago

Table of contents

Introduction

The NodeJS SDK offers convenience and easy-to-use javascript modules for embedding digital wallet capabilities into your application. It enables you to operate decentralized identifiers and verifiable credentials.

Installation

Add the @unid/node-wallet-sdk dependency:

npm install --save @unid/node-wallet-sdk

# OR

yarn add @unid/node-wallet-sdk

The NodeJS SDK uses MongoDB as a local repository to store keyRings by default. Please install and setup MongoDB in your application.

Configuration

Configuration should happen as early as possible in your application's lifecycle. Once you have set up a cloud agent in UNiD Studio, you will get values required for configuration.

import { UNiD } from '@unid/node-wallet-sdk'
import { MongoClient } from 'mongodb'

const uri = 'mongodb://username:password@localhost:27017'
const mongoClient = new MongoClient(uri, {
    useUnifiedTopology: true,
})

(async () => {
    // Connect to your mongodb
    await mongoClient.connect()
    
    // Initialize UNiD instance
    UNiD.init({
        clientId     : 'client_id',
        clientSecret : 'client_secret',
        encryptionKey: 'encryption_key',
        envNetwork   : 'testnet',
        localStorage : mongoClient
    })
})()
ValuesDescription
clientIdIt is associated with each cloud agent for a tenant. A string consisting of 64 characters that can be retrieved from UNiD Studio.
clientSecretA string consisting of 64 characters that can be retrieved from UNiD Studio. It is paired with the clientId.
encryptionKeyA string used to encrypt keyRings (digital wallet) with AES-256-CBC algorithm and store them in MongoDB.
envNetworkThe DPKI network to which the DID refers.
localStorageA connection instance to MongoDB that must be initialized and instantiated outside of the UNiD libraries to MongoDB.

Tutorial

First create new DID in your application.

Create DID

import { UNiD, KeyRingType } from '@unid/node-wallet-sdk'

(async () => {
    try{
        const DID = await UNiD.createDidDocument(
            KeyRingType.Mnemonic,
            { length: 24 }
        )
        console.log('complete generating a DID:', DID.getIdentifier())
    } catch (err) {
        console.error('ERROR:', err)
    }
})()

For more methods and how to use them, please refer to UNiD Documentation.

Changelog

CHANGELOG

License

Apache License 2.0