# README
gcs
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.