* fix: Remove prior docs attempt files * docs: Add Gitbook docs for common repo with examples. See detailed comments * Remove old attempt at docs in docs/ folders * Add Typedoc config typedoc.js * Add .nvmrc for easily switching Node.js version with NVM * Add ESLint config .eslintrc.json and .eslintignore * Fix in tsconfig.json so is keyring not util-keyring * Update package.json with dependencies and script same as in polkadot-js/api * Update root README fixing CI icons, adding guide same as in polkadot-js/api, and fixing link to keyring, not util-keyring * Update root .gitignore with Gitbook build files same as in polkadot-js/api * Add Gitbook docs structure same as in polkadot-js/api * Add Gitbook examples for keyring, trie-db, util-crypto * Add Gitbook outer summary for the menu, Readme, logo and styles same as in polkadot-js/api * Add Gitbook config book.json * docs: Remove db and util-rlp from Gitbook summary menu since RLP not in PoC-3 * docs: Add Typedocs with examples for db MemoryDb and DiskDb * docs: Update db/ Readme with CI icons fixed, and indicating that no methods exposed in Common Docs * docs: Update keyring Readme with CI icons fixed and link to Common Docs * fix: Fix keyring package.json info to refer to common, not client * fix: Updates license in 4x files in keyring/address folder with keyring, not util-keyring * docs: Add Typedocs to Keyring class, pair function, and testKeyring function * docs: Update keyring Readme with CI icons fixed and link to Common Docs * fix: Update package.json moving @polkadot/db from devDependencies to dependencies * fix: Update test to iterate array not object with forEach * fix: Use semicolon instead of comma in tests to fix linting errors. Fix typo * docs: Add Typedoc to Trie class * docs: Add Typedoc to is functions * docs: Update keyring Readme with CI icons fixed and link to Common Docs * fix: Add return type to encodeAux function * docs: Add Typedoc to encode function * fix: Fix formatting of Typedoc example for root * docs: Add Typedoc for genRoot * docs: Add Typedoc for pairsUniq * docs: Add Typedoc for getSharedLength * docs: Add Typedoc for sharedPrefixLength * fix: Fix formatting of Typedoc example for rootOrdered, asNibbles, fromNibbles * fix: Various fixes to util-crypto. See commit detail comments * Update root Readme with class and function info * Fix typos and Typedoc examples * Expose mnemonic by exporting it in an index.ts * Fix naming from naclKeypair to naclKeypairFromRandom * Fix typos * Fix randomAsU8s to be randomAsU8a * Fix spelling of bitLength * fix: Various fixes to util-rlp. See detailed commit comments * Update keyring Readme with CI icons fixed and link to Common Docs mentioning since RLP not in PoC-3 nothing exposed in Common Docs * Add Typedocs * Move Typedocs to different file so they appear in Common Docs * fix: Various fixes to util. See detailed commit comments * Update root Readme to use Yarn and list and explain exposed Common Docs methods * Fix typos and Typedoc examples * fix: Restore tests back using variable they were iterating over before * docs: Move nested part of Summary to individual package Readme. Add Usage to Readmes * fix: Add missing semicolon to existing test * fix: Remove docs/gitbook folder and files since generated by CI * feat: Update Gitignore to ignore CI-generated files like .html and docs/gitbook/ folder * docs: Remove CI-icons from all packages within polkadot-js/common, except its root Readme * fix: Update to incorporate changes from PR #233 and #229 * fix: Ignore build directories in Jest tests using modulePathIgnorePatterns * fix: Remove useless docs/html from .gitignore since there is no html subdirectory * fix: Update util-crypto README with link to mnemonicToSeed instead of toSecret * docs: Update keyring create account example to show result to user * fix: Update dependencies in examples so the examples work again * fix: Update keyring example 02 load accounts not to use addFromAddress * fix: Update .gitignore so it is suitable for both polkadot-js common and api * fix: Adjust .gitignore after testing changes that work with polkadot-js api too * fix: Resolve .gitignore to overcome FileNotFoundError: No README file (or is ignored) * fix: Remove from Git tracking docs/.nojekyll since generated * fix: Add lerna to gitignore to match api repo * Revert to original .gitignore. Does not work without Gitbooks files Git tracked * docs: Hide trie-db Examples since have limited use
5.9 KiB
5.9 KiB
@polkadot/util-crypto
Various useful cyrpto utility functions that are used across all projects in the @polkadot namespace. It provides utility functions with additional safety checks, allowing not only for consistent coding, but also reducing the general boilerplate.
Usage
Installation -
yarn add @polkadot/util-crypto
Functions can be imported as follows:
import { mnemonicGenerate } from '@polkadot/util-crypto';
Documentation and Available Utilities
Below is a list of currently exposed methods published at the Polkadot-JS Common Documentation Portal.
- util-crypto
- Functions
- Blake2b
- Keccak
- Mnemonic
- Nacl
- Random
- SHA-512
- xxHash
- Functions
Blake2b
- Creates a blake2b u8a output containing a hash from a u8a input bytes using given bit-length or default bit-length of 256. An optional key u8a of up to 64 bytes may be provided
- Creates a blake2b hex string with optionally specified bit-length from the u8a input or default bit-length used is 256
- Uses the Blake2b hash function of blakejs library
- Note: All hashes used in Polkadot-JS are 32 bytes (i.e. 256 / 8)
- Note: BLAKE hash functions are in the Nacl library
- Note: Only handles up to 2**53 bytes of input
Keccak
- Creates a Keccak-256 hex string from the input (such as for conversion from seed phrase)
- Creates a Keccak-256 Uint8Array from the input
- Uses the Keccak-256 hash function from the js-sha3 library
Mnemonic
- Generate valid mnemonics (for account seed phrase) using BIP39
- Converts mnemonics to a valid seed secret with Uint8Array output
Nacl
- Implements NaCl secret-key authenticated encryption, public-key authenticated encryption, hashing, and public-key signatures
- Decrypts a message that has been encrypted with a secret key using Nacl
- Encrypts a message with a secret key and generates an associated nonce using Nacl
- Signing a message with a secret key to generate a valid signature using Nacl
- Verifies a signed message by providing the message, signature, and public key (associated with the secret key that signed it) using Nacl
Random
- Returns a sequence of secure random bytes in a variety of formats
- Creates a u8a with a specified (optional) bit-length (default 32) filled with random bytes
- Creates a hex string with a specified (optional) bit-length (default 32) filled with random bytes
- Creates a random number from random secure bytes
SHA-512
- Implements SHA-512 hashing functions for a variety of input and outputs
- Creates a SHA-512 hash of u8a input
- Uses the SHA-512 hash function of tweetnacl library
xxHash
- Create xxhash64 values with specified bitlengths
- Creates a xxhash64 u8a from the input with a specified (optional) bit-length (default 64)
- Creates a xxhash64 hex string from the input with a specified (optional) bit-length (default 64)
- Uses xxHash to generate values as BN, hex & number output