cculianu / Fulcrum

A fast & nimble SPV Server for BCH, BTC, and LTC
Other
331 stars 77 forks source link

Silent Payment scanning [suggestion] #257

Open thisIsNotTheFoxUrLookingFor opened 2 weeks ago

thisIsNotTheFoxUrLookingFor commented 2 weeks ago

Cake Wallet appear to have made a WIP fork of electrs to scan for the new Bitcoin Silent Payments (https://silentpayments.xyz/docs/developers/).

Is there any plans for Fulcrum to provide this scanning? it would be really useful, I could connect my cake wallet to my Fulcrum for this purpose then!

cculianu commented 2 weeks ago

We have something similar in Bitcoin Cash. I was not aware that people are moving forward with the silent payment stuff in BTC. I can look into it and offer that as an index on Core nodes... yeah. If I have time.

I might ask for a fundraiser for this. Hmm. Thanks for alerting me to its existence.

cculianu commented 2 weeks ago

Random thoughts:

I've been investigating it and the way it works on Core is a little complex. Actually the easiest implementation would be just to pass off the calls to bitcoind -- if Core merges that PR for the optional silent payment index + RPC. But I suspect most nodes won't have a patched bitcoind with that index + RPC enabled so that may be a no-go.

But barring that I can "reproduce" the index in Fulcrum .. will require some time for me to work on this -- since the implementation of silent payments on BTC is a little complex. Perhaps the earliest I can have something out would be late September.. if if if I get time to work on it.

I'll have to see what the electrs fork is doing, whether they are just relying on bitcoind being patched with that index or if they are reimplementing the same facility for that indexing PR .. inside electrs...

thisIsNotTheFoxUrLookingFor commented 2 weeks ago

@cculianu nothing wrong with that idea, silentpayments is new so people really need to be running a new bitcoind for it anyway. I think the index you are referring to is the COMPACT_BLOCK_FILTERS one, I have that enabled in my bitcoind 27.0.1

Ah wait actually is there a specific index that is not yet in the base of core? I guess I won't have it then

cculianu commented 2 weeks ago

Oh.. actually I'm referring to this: https://github.com/bitcoin/bitcoin/pull/28241

It's a new rpc (backed by an index) called getsilentpaymentblockdata which does the brunt of the work, really.

thisIsNotTheFoxUrLookingFor commented 2 weeks ago

Oh.. actually I'm referring to this: bitcoin/bitcoin#28241

It's a new rpc (backed by an index) called getsilentpaymentblockdata which does the brunt of the work, really.

Yah ended up finding it. I wonder if they will impliment it? It makes sense for bitcoind to track the index because it is not a light wallet only feature, in theory the GUI that ships with bitcoind should support it as well, so really their RPC should expose it yea.

cculianu commented 2 weeks ago

I'd be surprised if they merge this anytime soon.. but who knows. I do agree it's a nice feature for the node.