Bitcoin Implementation in Scala
Find a file
Nadav Kohen c89104bfda BIP 158 Golomb-Rice Coded Sets and block filters (#481)
* Implemented GCS (WIP)

Added some of Chris' tests for golombEncode and golombDecode

Fixed GCS.golombDecodeSet

Separated GCS object from GolombFilter class

Added hanging test for set encoding

Fixed property test for encoding and decoding arbitrary sets

Added test for GCS.buildGCS and hashing function consistency

Added method to construct a Block Filter from a Block

Added scaladocs in GCS.scala

Added TempUtxoProvider to make BlockFilter testable

Wrote a test for GolombFilter.matchesHash

Added test for arbitrary data matching in bip 158 filter

Added optional right-padding on GCS BitVector, BlockFilter.fromHex, and got started on BlockFilterTest

Cleaned up Bip158TestCase.fromJsArray

Fixed parsing of test vectors for bip 158

Wrote test for BlockFilter (doesn't pass)

Responded to some code review

Included CompactSizeUInt in filter

Created BitcoinScriptUtil.getDataTokens for output serialization

Wrote test for BitcoinScriptUtil.getDataTokens

Added test for BitcoinScriptUtil on the genesis block

Fixed name

:(

* Fixed SipHash and block serialization!

* Fixed bugs relating to empty scripts, all tests passgit push --force-with-lease nadav 2019-05-28-bip158 !

* Cleaned up BitcoinScriptUtil.getDataTokens and its test

* Responded to code review

* Factored out common code from BlockFilter apply methods

* Some cleanup
2019-06-17 11:17:20 -05:00
bench Creates a package for the bench project, moves BlockBench into that package (#472) 2019-05-14 09:21:50 -05:00
bitcoind-rpc Add debug prints to bitcoindCall when not on mainnet 2019-06-06 13:25:09 +02:00
bitcoind-rpc-test/src/test [Tests] Kill all bitcoind instances after running 2019-06-13 19:22:56 -07:00
chain Fix bug when overriding configurations 2019-06-05 18:37:38 +02:00
chain-test/src/test Default to file based databases in tests (#517) 2019-06-14 11:10:36 -05:00
core BIP 158 Golomb-Rice Coded Sets and block filters (#481) 2019-06-17 11:17:20 -05:00
core-test BIP 158 Golomb-Rice Coded Sets and block filters (#481) 2019-06-17 11:17:20 -05:00
db-commons Generate bloom filters from wallet (#501) 2019-06-12 09:29:20 -05:00
docs Merge pull request #511 from torkelrogstad/2019-06-11-website-guides 2019-06-11 18:06:13 +02:00
eclair-rpc Give sbt-api-mappings plugin a concrete version, fix compiler warnings with unused imports (#485) 2019-05-30 09:47:21 -05:00
eclair-rpc-test/src/test/scala/org/bitcoins/eclair Node (#490) 2019-06-04 09:53:00 -05:00
node Pass bloom filter to SPV node (#514) 2019-06-17 06:48:26 -05:00
node-test/src/test/scala/org/bitcoins/node Pass bloom filter to SPV node (#514) 2019-06-17 06:48:26 -05:00
project Pass bloom filter to SPV node (#514) 2019-06-17 06:48:26 -05:00
secp256k1@2e16ac7d6c Changing TxSigComponent to take a TransactionOutput instead of a ScriptPubKey, refactoring ScriptProgram into 3 companion objects PreExecutionScriptProgram, ExecutionInProgressScriptProgram, ExecutedScriptProgram 2018-05-19 09:25:32 -05:00
secp256k1jni Node (#490) 2019-06-04 09:53:00 -05:00
testkit BIP 158 Golomb-Rice Coded Sets and block filters (#481) 2019-06-17 11:17:20 -05:00
wallet Generate bloom filters from wallet (#501) 2019-06-12 09:29:20 -05:00
wallet-test/src/test/scala/org/bitcoins/wallet Pass bloom filter to SPV node (#514) 2019-06-17 06:48:26 -05:00
website Add sections on generating addresses and expand HD section in website 2019-06-11 18:01:44 +02:00
zmq Node (#490) 2019-06-04 09:53:00 -05:00
.dockerignore WIP: Docusaurus website (#465) 2019-05-14 18:05:14 -05:00
.gitignore WIP: Docusaurus website (#465) 2019-05-14 18:05:14 -05:00
.gitmodules Adding specific commit for secp256k1 2018-04-25 16:44:48 -05:00
.jvmopts Reduce number of requests we send to eclair in testkits, add commandN… (#343) 2019-02-19 14:18:37 -06:00
.scalafmt.conf Add access modifier sort rewrite rule (#468) 2019-05-22 05:54:41 -05:00
build.sbt Fix issue where bloop didn't pick up test resources' (#518) 2019-06-14 10:25:58 -05:00
CONTRIBUTING.md WIP: Docusaurus website (#465) 2019-05-14 18:05:14 -05:00
docker-compose.yml Docs: removes blog from website 2019-06-11 12:59:58 +02:00
Dockerfile WIP: Docusaurus website (#465) 2019-05-14 18:05:14 -05:00
inThisBuild.sbt Bump scalac to 2.12.8 (#340) 2019-02-16 14:52:04 -06:00
LICENSE updating license 2018-01-17 17:15:18 -06:00
README.md Revamp README (#513) 2019-06-17 05:53:58 -05:00
try-bitcoin-s.sh Doc: Add stable and unstable version, try bitcoin-s script 2019-05-31 17:14:15 +02:00

Bitcoin-S logo Build Status Coverage Status Maven Central Gitter chat

Feature rich toolkit for making Bitcoin and Lightning applications on the JVM.

For a complete guide on how to get started with Bitcoin-S, see our website at Bitcoin-S.org