* bitcoind v19 new RPC calls and tests (#863) * bitcoind v19 new RPC calls and tests * Code review changes * Review part 2 * Rename variable to be more descriptive * Explanitory comment * Ignore broken test cases * Add missing signing functions * Add test to check avoid_reuse flag is on (#870) * Add test to check avoid_reuse flag is on * Add test to make sure flags weren't set * bitcoind v19 Update mempool RPCs and tests (#868) * Update mempool RPC calls to bitcoind v19 compatibility * Typo fix * Add parameter name to calls * Fix remaining rpc calls * Formatting * scaladoc for param * Change param to correct type * Clarify on scaladoc * Add missing fees parmater to mempool rpcs (#875) * Add weight field to mempool entries after v19 (#876) * Move DescriptorRpc to be able to be used by future versions of bitcoind (#878) * Add window_final_block_height to GetChainTxStatsResult (#880) * Add passphrase argument to createwallet for later versions (#883) * Add passphrase argument to createwallet for later versions * Scaladoc + empty passphrase requirement * Error message * Add new services names parameter to P2P rpcs (#874) * Add new services names parameter to P2P rpcs * Add ServiceIdentifier Reads * Add fallback case * Address review * Change to Try * Move PsbtRpc to be able to be used by future versions of bitcoind (#877) * Move PsbtRpc to be able to be used by future versions of bitcoind * Add test * Address comment * Enable bloom filters for v19 * Enable bip 61 for tests * Change to official binaries * Force v18 for Spv Tests * Remove unused config line |
||
---|---|---|
.. | ||
src | ||
README.md |
Philosphy of testkit
The high level of of the bitcoin-s testkit is to mimic provide functionality to test 3rd party applications.
There are other examples of these in the Scala ecosystem like the akka-testkit
and slick-testkit
.
We use this testkit to test bitcoin-s it self. For instance, our BitcoindRpcClient is tested with the functionality provided in the testkit. A quick example of a useful utility method is BitcoindRpcTestUtil.startedBitcoindRpcClient(). This spins up a bitcoind regtest instance on machine and generates 101 blocks on that node. This gives you the abililty to start spending money immediately with that bitcoind node.
We have similar utility methods for eclair.
Property based testing
There is also a robust set of generators available in the org.bitcoins.testkit.gen package. This allows you to integrate property based testing into your library and feel confident about implementing your application specific logic correctly.
You can see examples of us using these generators inside of testkit in our Private Key test cases