Skip to content

Commit 56f2557

Browse files
committed
readme
1 parent d74691a commit 56f2557

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

README.md

+26-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Audited & minimal JS implementation of [BIP39 mnemonic phrases](https://github.c
1212
Check out [scure-bip32](https://github.com/paulmillr/scure-bip32) if you need
1313
hierarchical deterministic wallets ("HD Wallets").
1414

15-
### This library belongs to *scure*
15+
### This library belongs to _scure_
1616

1717
> **scure** — audited micro-libraries.
1818
@@ -32,7 +32,7 @@ hierarchical deterministic wallets ("HD Wallets").
3232
3333
> `deno add jsr:@scure/bip39`
3434
35-
> `deno doc jsr:@scure/bip39` # command-line documentation
35+
> `deno doc jsr:@scure/bip39` # command-line documentation
3636
3737
We don't provide source maps.
3838
Wordlists are large, including source maps would double package size.
@@ -46,7 +46,7 @@ const mn = bip39.generateMnemonic(wordlist);
4646
console.log(mn);
4747

4848
// Reversible: Converts mnemonic string to raw entropy in form of byte array.
49-
const ent = bip39.mnemonicToEntropy(mn, wordlist)
49+
const ent = bip39.mnemonicToEntropy(mn, wordlist);
5050

5151
// Reversible: Converts raw entropy in form of byte array to mnemonic string.
5252
bip39.entropyToMnemonic(ent, wordlist);
@@ -101,6 +101,29 @@ At commit [ae00e6d7](https://github.com/ethereum/js-ethereum-cryptography/commit
101101
it was extracted to a separate package called `micro-bip39`.
102102
After the audit we've decided to use `@scure` NPM namespace for security.
103103

104+
### Supply chain security
105+
106+
- **Commits** are signed with PGP keys, to prevent forgery. Make sure to verify commit signatures
107+
- **Releases** are transparent and built on GitHub CI. Make sure to verify [provenance](https://docs.npmjs.com/generating-provenance-statements) logs
108+
- **Rare releasing** is followed to ensure less re-audit need for end-users
109+
- **Dependencies** are minimized and locked-down: any dependency could get hacked and users will be downloading malware with every install.
110+
- We make sure to use as few dependencies as possible
111+
- Automatic dep updates are prevented by locking-down version ranges; diffs are checked with `npm-diff`
112+
- **Dev Dependencies** are disabled for end-users; they are only used to develop / build the source code
113+
114+
For this package, there are 2 dependencies; and a few dev dependencies:
115+
116+
- [noble-hashes](https://github.com/paulmillr/noble-hashes) provides cryptographic hashing functionality
117+
- [scure-base](https://github.com/paulmillr/scure-base) provides low-level wordlist utilities
118+
- micro-bmark, micro-should and jsbt are used for benchmarking / testing / build tooling and developed by the same author
119+
- prettier, fast-check and typescript are used for code quality / test generation / ts compilation. It's hard to audit their source code thoroughly and fully because of their size
120+
121+
## Contributing & testing
122+
123+
- `npm install && npm run build && npm test` will build the code and run tests.
124+
- `npm run lint` / `npm run format` will run linter / fix linter issues.
125+
- `npm run build:release` will build single file
126+
104127
## License
105128

106129
[MIT License](./LICENSE)

0 commit comments

Comments
 (0)