Skip to content

This project is a grpc microservice for storing and retrieving wallet mnemonic securely using aws kms

Notifications You must be signed in to change notification settings

kralonur/nest-kms-wallet-storage-grpc

Repository files navigation

Nest KMS Wallet Storage gRPC Server

This server is responsible for storing and retrieving BIP39 wallet data from MongoDB.

The mnemonic phrase is encrypted/decrypted using AWS KMS and stored in the database.

gRPC is used as the communication protocol between the server and the client.

⚠️ Warning: Please note that this server is not production ready. It is only for development purposes. Please make your changes for security before using it in production.

Installation

$ yarn

Generate proto files for typescript

Install protobuf compiler (if not exists) and be sure version 3+

https://grpc.io/docs/protoc-installation/

protoc --version

Generate protobuf files (be sure src/proto/compile.proto.sh has execution permission):

yarn proto:generate

Generate certificates and enabling ssl

Install openssl (if not exists)

Generate certificates (be sure src/certs/generate-certs.sh has execution permission):

yarn certs:generate

To enable ssl through the app, set the environment variable ENABLE_SSL=true

⚠️ Warning: Please note that the certificates generated are for development purposes only. Do not use them in production. Check shell script for more details.

Running the app

# development
$ yarn start

# watch mode
$ yarn start:dev

# production mode
$ yarn start:prod

About

This project is a grpc microservice for storing and retrieving wallet mnemonic securely using aws kms

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages