3 releases

Uses old Rust 2015

0.0.3 Aug 18, 2025
0.0.2 Aug 18, 2025
0.0.1 Aug 18, 2025

#6 in #counting-bloom-filter

MIT license

12KB
193 lines

bloom-sol

A Rust implementation of a counting Bloom filter, specifically designed with Solana blockchain development in mind.

Features

  • Counting Bloom Filter: Supports insertion, deletion, and membership queries
  • Configurable: Adjustable size and number of hash functions
  • Boolean Mode: Optional boolean counting mode for simpler use cases
  • Serialization: Built-in serialize/deserialize functionality
  • False Positive Estimation: Calculate estimated false positive rates
  • Solana-Optimized: Designed for efficient use in Solana programs

Usage

use bloom_sol::bloom_sol::struct_def::CountingBloomFilter;

// Create a new counting bloom filter
let mut filter = CountingBloomFilter::new(1000, 4, false);

// Insert an item
filter.insert(&b"hello world");

// Check membership
let contains = filter.contains(&b"hello world"); // true
let not_contains = filter.contains(&b"goodbye"); // false (or possibly true - false positive)

// Remove an item (only in counting mode)
filter.remove(&b"hello world");

Installation

Add this to your Cargo.toml:

[dependencies]
bloom-sol = "0.0.1"

License

MIT

No runtime deps