mnemonic

package
v0.0.0-...-be1e348 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2018 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package mnemonic is the Golang implementation of the BIP39 spec.

The official BIP39 spec can be found at https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrInvalid is returned when trying to use a malformed mnemonic.
	ErrInvalid = errors.New("Invalid mnenomic")

	// ErrEntropyLengthInvalid is returned when trying to use an entropy set with
	// an invalid size.
	ErrEntropyLengthInvalid = errors.New("Entropy length must be [128, 256] and a multiple of 32")

	// ErrValidatedSeedLengthMismatch is returned when a validated seed is not the
	// same size as the given seed. This should never happen is present only as a
	// sanity assertion.
	ErrValidatedSeedLengthMismatch = errors.New("Seed length does not match validated seed length")

	// ErrChecksumIncorrect is returned when entropy has the incorrect checksum.
	ErrChecksumIncorrect = errors.New("Checksum incorrect")
)

Functions

func GetWordIndex

func GetWordIndex(word string) (int, bool)

GetWordIndex gets word index in wordMap.

func GetWordList

func GetWordList() []string

GetWordList gets the list of words to use for mnemonics.

func IsValid

func IsValid(mnemonic string) bool

IsValid attempts to verify that the provided mnemonic is valid. Validity is determined by both the number of words being appropriate, and that all the words in the mnemonic are present in the word list.

func New

func New(entropy []byte) (string, error)

New will return a string consisting of the mnemonic words for the given entropy. If the provide entropy is invalid, an error will be returned.

func NewEntropy

func NewEntropy(bitSize int) ([]byte, error)

NewEntropy will create random entropy bytes so long as the requested size bitSize is an appropriate size.

bitSize has to be a multiple 32 and be within the inclusive range of {128, 256}

func NewSeed

func NewSeed(mnemonic string, password string) []byte

NewSeed creates a hashed seed output given a provided string and password. No checking is performed to validate that the string provided is a valid mnemonic.

func NewSeedWithErrorChecking

func NewSeedWithErrorChecking(mnemonic string, password string) ([]byte, error)

NewSeedWithErrorChecking creates a hashed seed output given the mnemonic string and a password. An error is returned if the mnemonic is not convertible to a byte array.

func SetWordList

func SetWordList(list []string)

SetWordList sets the list of words to use for mnemonics. Currently the list that is set is used package-wide.

func ToByteArray

func ToByteArray(mnemonic string, raw ...bool) ([]byte, error)

ToByteArray takes a mnemonic string and turns it into a byte array suitable for creating another mnemonic. An error is returned if the mnemonic is invalid.

func ToEntropy

func ToEntropy(mnemonic string) ([]byte, error)

ToEntropy takes a mnemonic generated by this library, and returns the input entropy used to generate the given mnemonic. An error is returned if the given mnemonic is invalid.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL