2

If I want to watch a public address, I need the hex string for that address, because the importpubkey command only takes a hex input. How can I convert a base 58 address to a hex string using the bitcoin core?

Harry Pillsbury
  • 988
  • 1
  • 6
  • 20
  • Possible duplicate of [How can I convert a SHA256 hash into a Bitcoin base58 private key?](https://bitcoin.stackexchange.com/questions/8247/how-can-i-convert-a-sha256-hash-into-a-bitcoin-base58-private-key) – Hannah Vernon Nov 20 '17 at 21:50
  • I realize the above link does the conversion the other way; however it should help you get started. – Hannah Vernon Nov 20 '17 at 21:51
  • 1
    @MaxVernon Uh, what??? This has nothing to do with private keys. Also, the conversion you cited is going the wrong way. That does not get me started. I want to know how to convert a base 58 pub key to a hex pub key USING THE CORE CLIENT. – Harry Pillsbury Nov 20 '17 at 21:56

2 Answers2

4

You cannot generate public key from a bitcoin address. From bitcoin address, all you can get is the hash160. Following reference, this can be done through base58 decoding, going from Step 9 -> Step 8. So you get same output as from Step 4 along with checksum at the end.

Basically you have two alternatives:

  • If you have the private key, generate the public key and use importpubkey
  • Use importaddress
dark knight
  • 1,997
  • 9
  • 24
2

You might want to use the importaddress RPC method (I'm not even aware of an importpubkey method). The importaddress method accepts the base58 address string you have. I recently asked a slightly-related question and ended up answering it myself here: How to make ImportMulti function like ImportAddress for watch-only addresses placed into Accounts?

dimsumcode
  • 168
  • 7