Bitcoin Forum
May 06, 2024, 08:30:09 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: C#, NBitcoin and XPubkey  (Read 1230 times)
galgitron (OP)
Member
**
Offline Offline

Activity: 63
Merit: 10



View Profile
November 09, 2015, 07:30:10 PM
 #1

I'm attempting to write an algorithm that generates public bitcoin addresses from a known xpubkey. The key I'm using for testing can be found at blockchain.info at

https://blockchain.info/xpub/xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz

I'm trying something like this to generate the address on the path 0,0,0, as below:

Code:
        var pubkey = new ExtPubKey(Encoding.ASCII.GetBytes("6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz"));
        Console.Writeline(pubkey.Derive(0).Derive(0).Derive(0).PubKey.GetAddress(Network.Main));

I'm not fully understanding something because I get a 'Invalid point encoding 103' when trying to instantiate the ExtPubKey.  Does anyone have working sample code?
1714984209
Hero Member
*
Offline Offline

Posts: 1714984209

View Profile Personal Message (Offline)

Ignore
1714984209
Reply with quote  #2

1714984209
Report to moderator
1714984209
Hero Member
*
Offline Offline

Posts: 1714984209

View Profile Personal Message (Offline)

Ignore
1714984209
Reply with quote  #2

1714984209
Report to moderator
1714984209
Hero Member
*
Offline Offline

Posts: 1714984209

View Profile Personal Message (Offline)

Ignore
1714984209
Reply with quote  #2

1714984209
Report to moderator
"Bitcoin: mining our own business since 2009" -- Pieter Wuille
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714984209
Hero Member
*
Offline Offline

Posts: 1714984209

View Profile Personal Message (Offline)

Ignore
1714984209
Reply with quote  #2

1714984209
Report to moderator
1714984209
Hero Member
*
Offline Offline

Posts: 1714984209

View Profile Personal Message (Offline)

Ignore
1714984209
Reply with quote  #2

1714984209
Report to moderator
lontivero
Full Member
***
Offline Offline

Activity: 164
Merit: 126

Amazing times are coming


View Profile
November 15, 2015, 12:23:38 AM
 #2

Well, there are a couple of things wrong in your code:

  • ASCII encoding: most data in bitcoin is encoded with base58, no ascii.  
  • xpub prefix: it is part of the xPub and you must not remove it.

Now, try this:

Code:
var pubkey = ExtPubKey.Parse("xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz");
var newAddress = pubkey.Derive(0).Derive(0).Derive(0).PubKey.GetAddress(Network.Main);
Console.WriteLine(newAddress);


BTW, I recommed you to try things in testnet first.
galgitron (OP)
Member
**
Offline Offline

Activity: 63
Merit: 10



View Profile
November 17, 2015, 02:54:14 PM
 #3

That was it Smiley  Much appreciated my friend
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!