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

Running Omni node in prune mode #1293

Open
bvbfan opened this issue Apr 12, 2023 · 0 comments
Open

Running Omni node in prune mode #1293

bvbfan opened this issue Apr 12, 2023 · 0 comments

Comments

@bvbfan
Copy link

bvbfan commented Apr 12, 2023

Currently Omni node requires full bitcoin data including tx index. According to https://ycharts.com/indicators/bitcoin_blockchain_size blockchain size is about 470GiB, tx index is more about 30GiB. It can be seen a tendance, last 3 months, to increase a bit more (probably Ordinals) so it will be helpful Omni layer to offer a lightweight node to individuals or testing purposes.

In order to address the issue, Omni node could allow to be ran in prune mode, Omni transaction database could be extended to record all transactions related to the protocol. Possible solution is to create db index {block height, block index, cheap hash} to handle reorgs/reverts and {tx hash, tx data} to replace tx index requirement.

dexX7 added a commit that referenced this issue Nov 10, 2023
Pull request description:

  * Switch Omni protocol validation to event driven using validation interface
  * Switch Omni specific data storage out of bitcoin core databases
  * Move global coins cache to local one
  * Simple and efficient mempool and transaction storage
  * Remove txindex hard requirements
  * Rework all database records to use binary prefix instead of string data
  * Remove usage of core mutexes to allow validation to work in its own thread
  * Omnicore could be started as prune node, a lightweight client

  Todo's:
  * Remove Omni specific coin selection from Bitcoin core
  * Remove Omni specific functions from Bitcoin wallet interface

  Pending:
  * Full resync to measure time and storage

  Fixes: #1293 #1294
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant