You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Feature - Add a bitcoin block start height to the signers
1. Description
We should have a bitcoin start height for which all signers will have bitcoin and stacks block headers for. This issue is about making sure that the signers have a common idea for when to begin their bridging activities, and provides a foundational assumption that we can use in other areas.
1.1 Context & Purpose
Having a common bitcoin and stacks height solves a few problems.
The signers need a good stopping point when backfilling bitcoin and stacks blocks.
It also allows us to make simplifying assumptions in the block observer when fetching deposit requests. Specifically, it allows us to know that we can safely write the deposit request into the database in the code that originally closed [Feature]: Block observer is skipping certain deposit requests #522.
I expect that it will solve other problems since we can rely on the fact that the signers start with the same basic blockchain information.
2. Technical Details:
The natural choice for this bitcoin block start height is the stacks Nakamoto start height, since that is easy to fetch and can be used consistently in both testnet and mainnet. It also frees us from adding another variable in the config.
2.1 Acceptance Criteria:
We have a process that fetches bitcoin blocks on boot up until the bitcoin start height.
We have a process that fetches stacks blocks on boot up until their associated bitcoin anchor height is the bitcoin start height.
The block observer loads all blocks that need processing in memory before proceeding. This is not the best thing for us to do because we could need to process thousands of blocks at one time. Since each block takes up around ~1.5 MBs this could take up a lot of memory. Instead we should use the getblockheader RPC to get the headers and fetch the actual block when processing it.
The text was updated successfully, but these errors were encountered:
Feature - Add a bitcoin block start height to the signers
1. Description
We should have a bitcoin start height for which all signers will have bitcoin and stacks block headers for. This issue is about making sure that the signers have a common idea for when to begin their bridging activities, and provides a foundational assumption that we can use in other areas.
1.1 Context & Purpose
Having a common bitcoin and stacks height solves a few problems.
I expect that it will solve other problems since we can rely on the fact that the signers start with the same basic blockchain information.
2. Technical Details:
The natural choice for this bitcoin block start height is the stacks Nakamoto start height, since that is easy to fetch and can be used consistently in both testnet and mainnet. It also frees us from adding another variable in the config.
2.1 Acceptance Criteria:
3. Related Issues and Pull Requests (optional):
fetch_unknown_ancestors
in stacksapi.rs
#637.4. Appendix (new)
The block observer loads all blocks that need processing in memory before proceeding. This is not the best thing for us to do because we could need to process thousands of blocks at one time. Since each block takes up around ~1.5 MBs this could take up a lot of memory. Instead we should use the getblockheader RPC to get the headers and fetch the actual block when processing it.
The text was updated successfully, but these errors were encountered: