package
1.2.0
Repository: https://github.com/chappjc/dcrd.git
Documentation: pkg.go.dev

# README

gcs

GoDoc

Package gcs provides an API for building and using a Golomb-coded set filter similar to that described here.

A comprehensive suite of tests is provided to ensure proper functionality.

# Packages

Package blockcf provides functions for building committed filters for blocks using Golomb-coded sets in a way that is useful for light clients such as SPV wallets.

# Functions

FromBytes deserializes a GCS filter from a known N, P, and serialized filter as returned by Bytes().
FromNBytes deserializes a GCS filter from a known P, and serialized N and filter as returned by NBytes().
FromNPBytes deserializes a GCS filter from a serialized N, P, and filter as returned by NPBytes().
FromPBytes deserializes a GCS filter from a known N, and serialized P and filter as returned by NBytes().
MakeHeaderForFilter makes a filter chain header for a filter, given the filter and the previous filter chain header.
NewFilter builds a new GCS filter with the collision probability of `1/(2**P)`, key `key`, and including every `[]byte` in `data` as a member of the set.

# Constants

KeySize is the size of the byte array required for key material for the SipHash keyed hash function.

# Variables

ErrMisserialized signifies a filter was misserialized and is missing the N and/or P parameters of a serialized filter.
ErrNoData signifies that an empty slice was passed.
ErrNTooBig signifies that the filter can't handle N items.
ErrPTooBig signifies that the filter can't handle `1/2**P` collision probability.

# Structs

Filter describes an immutable filter that can be built from a set of data elements, serialized, deserialized, and queried in a thread-safe manner.