Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement bdk_nakamoto chain-source crate #679

Closed
notmandatory opened this issue Jul 22, 2022 · 7 comments
Closed

Implement bdk_nakamoto chain-source crate #679

notmandatory opened this issue Jul 22, 2022 · 7 comments
Labels
discussion There's still a discussion ongoing module-blockchain new feature New feature or request

Comments

@notmandatory
Copy link
Member

notmandatory commented Jul 22, 2022

This crate should use https://github.com/cloudhead/nakamoto to implement a chain-source crate.

Relevant Work

@notmandatory notmandatory self-assigned this Jul 22, 2022
@notmandatory notmandatory added discussion There's still a discussion ongoing module-blockchain labels Jul 22, 2022
@notmandatory notmandatory changed the title Separate compact_filters Blockchain in to a separate crate Separate blockchain::compact_filters module in to a separate crate Jul 22, 2022
@notmandatory notmandatory changed the title Separate blockchain::compact_filters module in to a separate crate Separate compact_filters module in to a separate crate Jul 22, 2022
@notmandatory notmandatory changed the title Separate compact_filters module in to a separate crate Separate compact_filters module in to a new crate Jul 22, 2022
@rajarshimaitra
Copy link
Contributor

rajarshimaitra commented Jul 23, 2022

I think the cbf_node make sense. Weather we have it as lib crate or not, its still gonna be a "mininode". We can also later on create a standalone binary that can be synced with a descriptor, so that it can be used outside of context of BDK too?? But thats for far future.

I think existing codes in current compact_filters module can used to work on top of it. Having a separate repo will help in issue tracking too. Something like rust-electrum-client makes perfect sense..

@notmandatory
Copy link
Member Author

Depending on how things go with #680 we may be able to close this.

@notmandatory
Copy link
Member Author

This is being done via the Alpha 1.0.0 changes with a new bdk_nakamoto crate.

@notmandatory notmandatory added this to the Alpha 1.0.0 milestone Mar 2, 2023
@notmandatory notmandatory removed this from the 1.0.0-alpha.0 milestone Mar 3, 2023
@evanlinjin evanlinjin changed the title Separate compact_filters module in to a new crate Implement bdk_nakamoto crate Jan 30, 2024
@evanlinjin evanlinjin changed the title Implement bdk_nakamoto crate Implement bdk_nakamoto chain-source crate Jan 30, 2024
@evanlinjin
Copy link
Member

I have re-purposed this ticket to track the bdk_nakamoto crate implementation.

@evanlinjin evanlinjin added this to the 1.1.0 milestone Jan 30, 2024
@ValuedMammal
Copy link
Contributor

I'd be interested in picking this up if no one has yet started. I may have questions. I can see some working examples such as #1055 and also LLFourn/bdk_core_staging#153. If anyone knows of other examples in the wild demonstrating how nakamoto can be used to get chain data, let me know.

@ValuedMammal
Copy link
Contributor

ValuedMammal commented Mar 3, 2024

Ideally, BDK and nakamoto should depend on the same version of rust bitcoin, or else we run into type mismatch errors that are cumbersome to try to work around. If we can get the dependencies in sync, it's still worth a try at implementing.

Another approach worth exploring is to use get_block_filter from bitcoincore-rpc, and match the filter against a set of SPKs with BlockFilter::match_any. Since this needs bitcoincore-rpc crate, I guess it could be a new module in bdk_bitcoind_rpc to supplement the current block Emitter.

Oh nice, I see cloudhead/nakamoto#145 is underway

@notmandatory notmandatory added the new feature New feature or request label Mar 18, 2024
@notmandatory notmandatory removed this from the 1.1.0 milestone Mar 18, 2024
@notmandatory
Copy link
Member Author

Plan is to use Kyoto CBF client instead.

https://github.com/rustaceanrob/kyoto

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion There's still a discussion ongoing module-blockchain new feature New feature or request
Projects
Status: Done
Development

No branches or pull requests

4 participants