0.2.0 • Published 9 years ago

bloom-filter v0.2.0

Weekly downloads
1,126
License
-
Repository
-
Last release
9 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-1246garlicore-p2pguldencore-p2peonacore-p2peonacore-p2p-casheonacore-p2p-dogeducatuscore-p2pflocore-p2pfiltergraphyfcash-p2pfeathercore-p2phthcore-libhtmlcoininfo-p2plifetioncore-p2plitecore-p2plitecore-p2p-segwitlioncore-p2piopcore-p2plibcash-p2pltzcore-p2pluxcore-p2pmatrixbitcore-p2pneobitcoin-p2pmxbitcore-p2pmulticore-p2pmulticore-p2p-cashmulticore-p2p-mcxneo-blockchain-nodenpccoincore-libpoliscore-p2ppitcore-p2ppcxcore-p2pposqcore-libpotcore-p2pravencore-p2prawcore-p2praidencashcore-p2praidencore-p2pmcore-p2p-matrixbit@ducatus/ducatuscore-p2p-cash@ducatus/ducatuscore-p2p-duc@ducatus/ducatus-core-p2p-rev@ducatus/ducatuscore-p2p@ducatus/bitcore-p2p@ecrypty/florijncoincore-lib@duality-solutions/bitcore-lib-dynamic@duality-solutions/bitcore-p2p-dynamicsmartcore-p2p@exodus/bitcore-p2pumbrucore-libtuxcore-p2pufocore-p2pulitecore-p2psumcore-p2punitedcore-p2punifycore-p2pveriumcore-p2p@csio.company/dashcore-lib@csio.company/dashcore-p2p@csio.company/dogecore-p2psexcore-p2pviacore-p2p@dashevo/dashcore-lib@dashevo/dashcore-p2p@murgor/mvs-p2p@nanocat/ctrlim@geekcash/geekcash-p2pxb2p2pwpsecwidecore-p2p@gohelpfund/helpcore-p2p@gewelio/gewelcore-lib@gewelio/gewelcore-p2pzcashcore-p2p@stashcore/stashcore-lib@stashcore/stashcore-p2p@o0o2022sg/bitcore-p2p@o0o2022sg/bitcore-p2p-cash@o0o2022sg/bitcore-p2p-dogecreacore-p2p@xazab/xazabcore-lib@xazab/xazabcore-p2p@xazabevo/xazabcore-lib@xazabevo/xazabcore-p2p@skeincurrency/core-lib@sotatek-anhdao/react-native-bitcore-p2p-value@sotatek-anhdao/bitcore-p2p-value@tecracoin/bitcore-p2p@tecracoin/bitcore-p2p-cash@tecracoin/bitcore-p2p-tcr@weicrypto/weicore-lib@weicrypto/weicore-p2p
0.2.0

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago