hash

package
v0.92.0 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2020 License: MIT Imports: 4 Imported by: 14

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CalcMerkleRoot added in v0.92.0

func CalcMerkleRoot(hashes []util.Uint256) util.Uint256

CalcMerkleRoot calculcates Merkle root hash value for a given slice of hashes. It doesn't create a full MerkleTree structure and it uses given slice as a scratchpad, so it will destroy its contents in the process. But it's much more memory efficient if you only need root hash value, while NewMerkleTree would make 3*N allocations for N hashes, this function will only make 4. It also is an error to call this function for zero-length hashes slice, the function will panic.

func Checksum

func Checksum(data []byte) []byte

Checksum returns the checksum for a given piece of data using sha256 twice as the hash algorithm.

func DoubleSha256

func DoubleSha256(data []byte) util.Uint256

DoubleSha256 performs sha256 twice on the given data.

func Hash160

func Hash160(data []byte) util.Uint160

Hash160 performs sha256 and then ripemd160 on the given data.

func RipeMD160

func RipeMD160(data []byte) util.Uint160

RipeMD160 performs the RIPEMD160 hash algorithm on the given data.

func Sha256

func Sha256(data []byte) util.Uint256

Sha256 hashes the incoming byte slice using the sha256 algorithm.

Types

type MerkleTree

type MerkleTree struct {
	// contains filtered or unexported fields
}

MerkleTree implementation.

func NewMerkleTree

func NewMerkleTree(hashes []util.Uint256) (*MerkleTree, error)

NewMerkleTree returns new MerkleTree object.

func (*MerkleTree) Root

func (t *MerkleTree) Root() util.Uint256

Root returns the computed root hash of the MerkleTree.

type MerkleTreeNode

type MerkleTreeNode struct {
	// contains filtered or unexported fields
}

MerkleTreeNode represents a node in the MerkleTree.

func (*MerkleTreeNode) IsLeaf

func (n *MerkleTreeNode) IsLeaf() bool

IsLeaf returns whether this node is a leaf node or not.

func (*MerkleTreeNode) IsRoot

func (n *MerkleTreeNode) IsRoot() bool

IsRoot returns whether this node is a root node or not.

Jump to

Keyboard shortcuts

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