Skip to content

Silentiumd design questions #3

Description

@josibake

Haven't looked into the code yet, but had a few general questions:

  1. It seems the tweak data index is being built by getting prevout information from bitcoind (via the txindex). Curious if you had an numbers on how long it takes to create the index?
  2. The daemon can be run with two database: postgres and badgerDB - I'm not familiar with BadgerDB, but is this something lightweight enough where the index service could be run on a raspi? I'm thinking of the use case of a user running an index for their wallet as part of a node package like Umbrel, Raspiblitz, etc
  3. Regarding the use case where a wallet user is running their own index (similar to how users run their own electrs servers), have you considered adding a way for the index daemon to do the scanning? In this model, the PWA would hold the spend key and then register the scan key with the index server and the index server does the scanning and notifies the PWA when it finds a transaction
    • For users able to run their own bitcoin node/index, this allows them to use the wallet without any bandwidth usage
    • In this model, the index could also get mempool transactions from the bitcoin node and scan those as well, allowing the index daemon to alert the wallet of unconfirmed transactions
  4. I noticed in your README you are taking advantage of cut-through. Another idea is to add a "dust limit filter" where the client can say "exclude transactions where the unspent UTXOs are < dust_filter, i.e. if the largest unspent output of the transaction is < dust_filter it is not sent to the client. This avoids the client downloading and checking for UTXOs that would be unspendable anyways

Awesome work, btw! Will run the index and let you know if I have more feedback!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions