Hi.   I recently started using btcd because it seems the best bet for a
little project I'm working on due to the address index and
searchrawtransactions API.

Thanks for creating and maintaining btcd!

For my project, I am calling searchrawtransactions and I care only about
inputs and outputs that match the input address.

For info on my use case, see:
  https://github.com/dan-da/bitprices
  https://github.com/btcsuite/btcd/issues/485

vout provides a list of addresses that my app can easily filter by.
Unfortunately vin does not.  Only the scriptSig is available.

I have been hacking on the btcd code attempting to add an address list to
Vin.  Specifically the function createVinList(), to which I added the arg
chainParams.

My first attempt involves calling ExtractPkScriptAddrs() like so:

scriptClass, addrs, _, err :=
   txscript.ExtractPkScriptAddrs( v.SignatureScript, chainParams )

However this does not work.

scriptClass is always "nonstandard" and err is nil.

So it seems that parseScript is parsing v.SignatureScript OK but believes
it is a non-standard transaction.

I am presently stuck at this point.   Can someone please point me the way?


( I know it must be possible because most every block explorer displays
input addresses, and also various online APIs make them available.)


thanks.

Dan

Reply via email to