bdk
bdk copied to clipboard
Add testing on Compact Block filters in CI
Setup testing on Compact block filters blockchain backend.
Description
While working on #634, I realized we don't have a setup for carrying out test on Compact Block Filters blockchain in CI. This PR is a work in progress solution to get that setup.
Notes to the reviewers
For some reason the tests are taking too long to run.
Checklists
All Submissions:
- [x] I've signed all my commits
- [x] I followed the contribution guidelines
- [x] I ran
cargo fmt
andcargo clippy
before committing
New Features:
- [ ] I've added tests for the new feature
- [ ] I've added docs for the new feature
- [ ] I've updated
CHANGELOG.md
Bugfixes:
- [ ] This pull request breaks the existing API
- [ ] I've added tests to reproduce the issue which are now passing
- [ ] I'm linking the issue being fixed by this PR
@rajarshimaitra , I will definitely get back to this once we integrate with Nakamoto.
Upon further thinking.. I think this can go into bdk even without nakamoto.. From the PoV of a testing framework we will always have only one single backend.. And CBF operation with single peer will be same between current bdk's cbf module and nakamoto..
So it might make sense to get this done even before we get nakamoto and bring the bdk's cbf impl into testing.. In that case, was when we shift to nakamoto we will already have a something to test it against, at least single peer scenario..
On high level what needs to be done to get compact_filters to testing is
- Configure
bitcoind
inTestClient
as compact blockfilter serving.. This should happen under a feature flag.. - Get the p2p port of the bitcoind as pass that into compact filter blockchain..
@vladimirfomene if you are open to work on this I would suggest to carry on, as you are already quite close to the final thing..
Hey, we are in the process of releasing BDK 1.0, which will under the hood work quite differently from the current BDK. For this reason, I'm closing all the PRs that don't really apply anymore. If you think this is a mistake, feel free to rebase on master and re-open!