npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@sidetree/qldb

v0.3.1-unstable.60

Published

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

Downloads

76

Readme

@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

  • Create a new QLDB ledger: https://console.aws.amazon.com/qldb/home?region=us-east-1#first-run
  • Set the same name used in qldbLedger in your config file
  • Create an IAM User named qldb-admin with Programmatic access: https://console.aws.amazon.com/iam/home?region=us-east-1#/users
  • Attach AmazonQLDBFullAccess policy to the user
  • Write down the access key and the secret key and run the following commands locally:
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');