43

wallet-hash-manager

Wallet Hash Manager is a TypeScript package designed to generate and manage cryptographic hashes for wallet recovery phrases and files. It provides functionality for creating random word mnemonics and secure random files, along with their corresponding hashes.

Wallet Hash Manager

Wallet Hash Manager is a TypeScript package designed to generate and manage cryptographic hashes for wallet recovery phrases and files. It provides functionality for creating random word mnemonics and secure random files, along with their corresponding hashes.

Features

  • Generate random 24-word mnemonic phrases
  • Create cryptographic hashes for word lists
  • Generate random data files
  • Compute hashes for data files
  • Save and load data files securely

Installation

To install the package and its dependencies, run:

npm install wallet-hash-manager

Building the Project

To compile the TypeScript files, use:

npm run build

This will create compiled JavaScript files in the ./dist directory.

Running Tests

To run the test suite, use:

npm test

This will execute all test files in the ./dist directory.

Usage

WalletHashManager

The main class WalletHashManager provides the following methods:

  • generateNewWords(pass?: string): Generates a new 24-word mnemonic phrase and its hash.
  • getHashForWords(words: string[], pass?: string): Computes the hash for a given list of words.
  • generateNewFile(pass?: string): Creates a new random data file and its hash.
  • getHashForFile(data: Buffer, pass?: string): Computes the hash for a given data buffer.
  • saveFile(fileName: string, data: Buffer): Saves data to a file.
  • openFile(fileName: string, pass?: string): Opens a file and computes its hash.

Example

import { WalletHashManager } from "wallet-hash-manager";
 
async function example() {
  const manager = new WalletHashManager();
 
  // Generate new words
  const { words, hash } = await manager.generateNewWords();
  console.log("Generated words:", words.join(" "));
  console.log("Hash:", hash);
 
  // Generate new file
  const { data, hash: fileHash } = await manager.generateNewFile();
  console.log("File hash:", fileHash);
 
  // Save file
  await manager.saveFile("example.bin", data);
 
  // Open file
  const { data: loadedData, hash: loadedHash } = await manager.openFile(
    "example.bin"
  );
  console.log("Loaded file hash:", loadedHash);
}
 
example().catch(console.error);

License

This project is licensed under the ISC License.

Contributing

Contributions are welcome. Please feel free to submit a Pull Request.