@sphereon/ssi-sdk-mnemonic-seed-manager
v0.11.0
Published
<!--suppress HtmlDeprecatedAttribute --> <h1 align="center"> <br> <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a> <br>Mnemonic Seed Manager (Typescript)
Downloads
41
Readme
mnemonic-seed-manager
A plugin to generate and store mnemonic pass phrases and seeds
Installation
yarn add @sphereon/ssi-sdk-mnemonic-seed-manager
Build
yarn build
Test
The test command runs:
prettier
jest
coverage
You can also run only a single section of these tests, using for example yarn test:unit
.
yarn test
Utility scripts
There are other utility scripts that help with development.
yarn fix
- runseslint --fix
as well asprettier
to fix code style.
Module developers
We use TypeORM migrations to support database changes over time. As soon as you need to update, add or delete information from entities, ensure that migration files are being created to reflect the updates.
Currently we support migrations for sqlite databases, typically used during development and on mobile platforms. Next to that we also support Postgres. Obviously you need to have a Postgresql database at hand when working with Postgres.
Create a migration file
- Ensure you have an existing sqlite/postgres database at hand with the old situation
- Make a copy of that database so you can always easily go back
- Run the respective commands for postgresl and/or sqlite:
yarn run typeorm-postgres:migration:generate NameOfYourMigration
yarn run typeorm-sqlite:migration:generate NameOfYourMigration
- Check in the src/migrations folders to find a file in the respective sqlite/postgres folder which contains _ NameOfYourMigration_
- Update the index.ts file in the respective directory to include the migration. Users will import that file as their migrations entrypoint from their TypeORM config.
- If you wish to check whether applying the migration works you can execute the respective
Applying migrations
There is an example sqlite file in the root called migration.sqlite. We use the sqlite file to keep track of changes we made and to ensure there are no incidental changes by a developer changing an entity,
This file is kept up to date by applying the command: yarn typeorm-sqlite:migration:run
The same can be done for a local Postgres database using the command "typeorm-postgres:migration:run"
You can look at package.json or https://typeorm.io/migrations to apply migrations to your own database(s)