0.2.0 • Published 11 years ago

bloom-filter v0.2.0

Weekly downloads
1,126
License
-
Repository
-
Last release
11 years ago

bloom-filter

A bloom filter suitable for use in Bitcoin Connection Bloom Filtering as part of BIP37.

Get Started

npm install bloom-filter
var BloomFilter = require('bloom-filter');

// convenient method to initialize the filter
var numberOfElements = 3;
var falsePositiveRate = 0.01;
var filter = BloomFilter.create(numberofElements, falsePositiveRate);

// elements
var a = new Buffer('99108ad8ed9bb6274d3980bab5a85c048f0950c8', 'hex');
var b = new Buffer('19108ad8ed9bb6274d3980bab5a85c048f0950c8', 'hex');
var c = new Buffer('b5a2c786d9ef4658287ced5914b37a1b4aa32eee', 'hex');

// insert elements
filter.insert(a);
filter.insert(b);

// check if elements match
assert(!filter.contains(c));
assert(filter.contains(a));

// reinstantiate from an object
var serialized = filter.toObject();
var filter = new BloomFilter(serialized);

// initialize directly
var filter = new BloomFilter({
  vData: [], // the data of the filter
  nHashFucs: 3, // the number of hash functions to use
  nTweak: 2147483649, // the seed used for the hash fuctions
  nFlags: 0 // flags used to update the filter when matched
});

License

Code released under the MIT license.

Copyright 2015 BitPay, Inc.

@tyz-wallet/tyz-wallet-core-p2p@tyz-wallet/tyz-wallet-core-p2p-cash@tyz-wallet/tyz-wallet-core-p2p-dogebitcore-p2p-usdg@vitruvedz/3dcore-libbitcore-p2p-polisbitcore-p2p-audax@cointobanks/bitcore-p2p-ltp@everything-registry/sub-chunk-1246widecore-p2pwpsecxb2p2psumcore-p2pviacore-p2pveriumcore-p2pguldencore-p2phtmlcoininfo-p2phthcore-libiopcore-p2plioncore-p2plifetioncore-p2plitecore-p2plitecore-p2p-segwitlibcash-p2pltzcore-p2pluxcore-p2pmatrixbitcore-p2pmcore-p2p-matrixbit@weicrypto/weicore-lib@weicrypto/weicore-p2p@xazabevo/xazabcore-p2p@xazab/xazabcore-lib@xazab/xazabcore-p2p@xazabevo/xazabcore-lib@umbru/umbrucore-lib@unifyroom/unfycore-lib@towercg-plugins/twitch-server@upincome/c0bancore-p2p@vkaxevo/vkaxcore-p2p@vpubevo/vpubcore-p2palterdot-libalterdot-p2p@zipeva/zipcore-lib@zipeva/zipcore-p2p@zipevo/zipcore-libalarmxcore-p2paxecore-p2paudax-bitcore-p2pb2p2partbytecore-p2pgarlicore-p2pducatuscore-p2peonacore-p2peonacore-p2p-casheonacore-p2p-dogefeathercore-p2pfcash-p2pflocore-p2pfiltergraphy3dcore-lib@abcpros/bitcore-p2p@abcpros/bitcore-p2p-bcha@abcpros/bitcore-p2p-cash@abcpros/bitcore-p2p-doge@abcpros/bitcore-p2p-xec@abcpros/bitcore-p2p-xpi@pshenmic/dashcore-lib@bitrupee/rapids-p2p@chaingraph/bitcore-p2p-cash@bcpros/bitcore-p2p@bcpros/bitcore-p2p-cash@bcpros/bitcore-p2p-doge@bcpros/bitcore-p2p-xec@bcpros/bitcore-p2p-xpi@axerunners/axecore-lib@axerunners/axecore-p2p@axerunners/dapi@captemulation/bitcore-p2pcreacore-p2pdenariicore-p2pblocxcore-p2pbitcore-p2p-pivxbitcore-p2p-posqbitcore-p2p-rapturebitcore-p2p-safebitcore-p2p-sprcbitcore-p2p-svbitcore-p2p-tcrbitcore-p2p-terracoinbitcore-p2p-titusbitcore-p2p-ulordbitcore-p2p-valuebitcore-p2p-xpibitcore-p2p-chaincoinbitcore-p2p-crownbitcore-p2p-dashbitcore-p2p-divibitcore-p2p-dogebitcore-p2p-dvtbitcore-p2p-jincash
0.2.0

11 years ago

0.1.1

11 years ago

0.1.0

11 years ago