@evan.network/sidetree-qldb
TypeScript icon, indicating that this package has built-in type declarations

0.3.1-unstable.81 • Public • Published

@sidetree/qldb

This package contains an implementation of the Sidetree ledger interface on the QLDB ledger.

Usage

npm install --save @sidetree/qldb

QLDB FIPS Compliance

FIPS compliance for QLDB is unclear at this point mainly because we cannot know how AWS's internal crypto is used.

Both have FIPS mode and non FIPS mode. It's not clear which is used or whether FIPS mode is on for QLDB - OpenSSL: The open source standard implementation - s2n: Amazon's own lightweight implementation

Testing for this Module

cd packages/ledger-qldb
npm run test

By default the test for this package will use a the MockQLDBLedger implementation to replicate the functionality of QLDB on AWS. To enable the AWS QLDBLedger module for testing the following two actions are required.

  1. Setup QLDB ledger
  2. Enable the use of the S3Cas by editing the test file

Instructions

1. Setup QLDB ledger

aws configure set region us-east-1
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY

2. Enable the use of the S3Cas by editing the test file

To enable the QLDBLedger module for testing, the test file is located at src/__tests__/QLDBLedger.test.ts. You must change the variable value of forceMock from true to false. An example is shown below.

import { filesystem } from '@sidetree/test-vectors';
import AWS from 'aws-sdk/global';

import QLDBLedger from '../QLDBLedger';
import MockQLDBLedger from '../MockQLDBLedger';

jest.setTimeout(10 * 1000);

describe('QLDB tests', () => {
  const forceMock = false; // This Line

  const config = new AWS.Config();
  if (forceMock) {
    console.warn('Using mock QLDB interface for QLDB tests');
  } else if (!config.credentials) {
    console.warn(
      'No AWS credentials found in ~/.aws/credentials, using mock interace'
    );
  }

Note that you will need both the ~/.aws/credentials file and const forceMock = false;. The default QLDB Ledger name is photon-test. The value for this can be changed in src/__tests__/QLDBLedger.test.ts.

  const ledger =
    config.credentials && !forceMock
      ? new QLDBLedger('photon-test', 'Test')
      : new MockQLDBLedger('Test');

Readme

Keywords

none

Package Sidebar

Install

npm i @evan.network/sidetree-qldb

Weekly Downloads

7

Version

0.3.1-unstable.81

License

Apache-2.0

Unpacked Size

262 kB

Total Files

21

Last publish

Collaborators

  • vineetpant
  • tschuck
  • wulfraem
  • s3bb1