Title: CPubKey from pubkey string Post by: zono on June 16, 2017, 01:45:29 PM I'm reading bitcoin core source code. Is it possible to instantiate a CPubKey object with pubkey? I want to get bitcoin address from the pubkey by using bitcoin core's source. I can't find a good way.
I tried it like following but "invalid" is showed. Code: const char *cstr = "0396f8781a4900372a5d72d84718d146170d5983e67dff8b4a28fef80690c09767"; Title: Re: CPubKey from pubkey string Post by: achow101 on June 16, 2017, 04:32:20 PM What you are doing is interpreting the pubkey as a string. However a pubkey is not a string but rather a blob of binary data that is 33 bytes long. What you want to do is to convert your hex string into a vector of unsigned char first and then pass that to the CPubKey constructor.
It would be better for you to just initialize an array with your pubkey instead of performing a string conversion. Edit: Your code should look something like this: Code: unsigned char pk[] = {0x03, 0x96, 0xf8, 0x78, 0x1a, 0x49, 0x00, 0x37, 0x2a, 0x5d, 0x72, 0xd8, 0x47, 0x18, 0xd1, 0x46, 0x17, 0x0d, 0x59, 0x83, 0xe6, 0x7d, 0xff, 0x8b, 0x4a, 0x28, 0xfe, 0xf8, 0x06, 0x90, 0xc0, 0x97, 0x67}; Title: Re: CPubKey from pubkey string Post by: zono on June 17, 2017, 04:26:30 AM Thank you so much. Problem solved. "valid" was showed!
Code: #include "utilstrencodings.h" |