Package chainhash provides abstracted hash functionality.
This package provides a generic hash type and associated functions that allows the specific hash algorithm to be abstracted.
const HashSize = 32
HashSize of array used to store hashes. See Hash.
MaxHashStringSize is the maximum length of a Hash hash string.
ErrHashStrSize describes an error that indicates the caller specified a hash string that has too many characters.
Decode decodes the byte-reversed hexadecimal string encoding of a Hash to a destination.
DoubleHashB calculates hash(hash(b)) and returns the resulting bytes.
HashB calculates hash(b) and returns the resulting bytes.
Hash is used in several of the bitcoin messages and common structures. It typically represents the double sha256 of data.
DoubleHashH calculates hash(hash(b)) and returns the resulting bytes as a Hash.
HashH calculates hash(b) and returns the resulting bytes as a Hash.
NewHash returns a new Hash from a byte slice. An error is returned if the number of bytes passed in is not HashSize.
NewHashFromStr creates a Hash from a hash string. The string should be the hexadecimal string of a byte-reversed hash, but any missing characters result in zero padding at the end of the Hash.
CloneBytes returns a copy of the bytes which represent the hash as a byte slice.
NOTE: It is generally cheaper to just slice the hash directly thereby reusing the same bytes rather than calling this method.
Compare returns 1 if hash > target, -1 if hash < target and 0 if hash == target.
IsEqual returns true if target is the same as hash.
SetBytes sets the bytes which represent the hash. An error is returned if the number of bytes passed in is not HashSize.
String returns the Hash as the hexadecimal string of the byte-reversed hash.