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

aezeed

v0.0.5

Published

A package for encoding, decoding, and generating mnemonics of the aezeed specification.

Downloads

1,516

Readme

aezeed

A package for encoding, decoding, and generating mnemonics of the aezeed specification. (WIP)

Example

  • TypeScript types are available as well. commonjs example below.
const { CipherSeed } = require('aezeed');
  • You can also pass the 16 byte entropy and 5 byte salt as Buffers to the constructor.
  • random() uses randombytes under the hood to generate the 21 random bytes needed.
// Make a random seed and password protect it.
const mnemonic1 = CipherSeed.random().toMnemonic('strongPassword');
console.log(mnemonic1);

// Or no password protection (default password is 'aezeed' when not passed)
const mnemonic2 = CipherSeed.random().toMnemonic();
console.log(mnemonic2);
  • You can decode mnemonics as well.
  • birthDate is a Date object of the approximate day when the wallet was generated. (rounded down to the nearest 18:15:05 UTC (the time-of-day of the timestamp in the Bitcoin genesis block))
  • birthday is a number, represents the number of days since the genesis block.
  • entropy is the 16 bytes needed for generating the root key for the BIP32 HD key.
// Decoding to get at the entropy and birthday values with password
const mnemonic3 =
  'able mix price funny host express lawsuit congress antique float pig ' +
  'exchange vapor drip wide cup style apple tumble verb fix blush tongue ' +
  'market';
const cipherSeed1 = CipherSeed.fromMnemonic(mnemonic3, 'strongPassword');
console.log(cipherSeed1.entropy);
// <Buffer fc 88 ea ad 1a 74 62 90 da bc 3b 58 39 9c e9 3f>
console.log(cipherSeed1.birthDate);
// <Date 2020-08-24T18:15:05.000Z>

// Without password
const mnemonic4 =
  'able concert slush lend olive cost wagon dawn board robot park snap ' +
  'dignity churn fiction quote shrimp hammer wing jump immune skill sunset ' +
  'west';
const cipherSeed2 = CipherSeed.fromMnemonic(mnemonic4);
console.log(cipherSeed2.entropy);
// <Buffer b0 c2 91 6c 06 4e da 9a ff ec 6e c4 63 81 e5 92>
console.log(cipherSeed2.birthDate);
// <Date 2020-08-24T18:15:05.000Z>