Bitcoin Forum
June 26, 2024, 07:01:52 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: How to get the xpub key of my armory wallet account?  (Read 845 times)
oldseven (OP)
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
March 24, 2017, 08:00:22 AM
 #1

I'm using straight server which is a payment gateway server. It needs a BIP32 xpub key. But I know armory doesn't support

BIP32. But I still want to know:

1.Where the Extended pulick key of my wallet like blockchain wallet or other wallet.

2.When will armory support BIP32 or BIP44?

Thanks.
Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3074



View Profile
March 24, 2017, 08:12:27 AM
 #2

1. It's represented by the Chain Code portion of your wallet backup (not sure how that's represented in the digital wallet, but it's clearly discernible on paper wallets)

2. Currently slated for version 0.97

Vires in numeris
oldseven (OP)
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
March 24, 2017, 08:47:25 AM
 #3

1. It's represented by the Chain Code portion of your wallet backup (not sure how that's represented in the digital wallet, but it's clearly discernible on paper wallets)

2. Currently slated for version 0.97

Thanks. But when I tried to backup my wallet using "Make paper backup", I did't found the Chain Code portion you mentioned.

Can you make it clear?
Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3074



View Profile
March 24, 2017, 08:57:30 AM
 #4

The second key on your paper wallet backup is headed with the word "Chain Code". That key is the Chain Code, or extended public key in the BIP32 parlance.

Vires in numeris
oldseven (OP)
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
March 24, 2017, 09:11:31 AM
 #5

The second key on your paper wallet backup is headed with the word "Chain Code". That key is the Chain Code, or extended public key in the BIP32 parlance.

I have no a printer so I output it as a pdf file. And I still cannot found the Chain Code.
Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3074



View Profile
March 24, 2017, 09:54:34 AM
Last edit: March 24, 2017, 12:39:49 PM by Carlton Banks
 #6

It would be there, if you're doing it right. You must be doing something wrong. "Print Paper Backup" is a very simple, long-term stable function in Armory, and it's very diffcult to get it wrong.

Explain in exhaustive detail exactly what you're doing to achieve the failure.

Vires in numeris
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3682
Merit: 1347

Armory Developer


View Profile
March 24, 2017, 12:19:58 PM
 #7

There's no chaincode apparent on 1.35c wallets, since it is derived deterministically from the root private key in that version:

https://github.com/goatpig/BitcoinArmory/blob/master/armoryengine/ArmoryUtils.py#L3489

Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3074



View Profile
March 24, 2017, 02:16:42 PM
 #8

Ah, wasn't aware that armoryd uses a different wallet format.

Vires in numeris
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3682
Merit: 1347

Armory Developer


View Profile
March 24, 2017, 03:04:06 PM
 #9

Ah, wasn't aware that armoryd uses a different wallet format.

This is the backup format across all iterations of Armory since 0.90.

If you only have 2 lines in your backup, that's a 1.35c. If you have 4, that's a 1.35 and the last 2 lines are your chaincode. The wallet version should be written on the paperback up.

Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3074



View Profile
March 24, 2017, 05:26:22 PM
 #10

I'm showing my age here Cheesy

Perhaps OT, but is 1.35 ok for at least a few releases? And, that's the only practical difference between 1.35 and 1.35c, right?

Vires in numeris
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3682
Merit: 1347

Armory Developer


View Profile
March 24, 2017, 05:35:12 PM
 #11

Prior to 1.35, the chaincode was a PRNG pull on its own. Alan eventually realized there was no diminishing security in deriving the chaincode deterministically through a HMAC, cutting the backup string length in half, which is why he moved to that format eventually.

Reducing the size of the backup string also reduces the surface for errors (damaged print out, manuscript strings, memorized sequences), so overall it's a good change.

There is no difference in security in either format, and Armory will always support backups from any format it has supported in the past.

Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3074



View Profile
March 24, 2017, 05:43:18 PM
 #12

Could a 1.35 wallet be converted to the 1.35c format? Just for the sake of the half length key info. Sounds like a useful change.

Vires in numeris
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3682
Merit: 1347

Armory Developer


View Profile
March 24, 2017, 07:29:14 PM
 #13

No. In the one case (1.35) the chaincode is just a random number. In the other (1.35c), the chaincode is deterministic.

I guess it's not a hard no if you evaluate that it is economically justifiable to try and break the HMAC function for this purpose. Otherwise, just no =D

Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3074



View Profile
March 24, 2017, 08:15:11 PM
 #14

Are you saying I would have to brute force the hashing algorithm of that specific HMAC? I'm getting the picture in which case Cheesy

Vires in numeris
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3682
Merit: 1347

Armory Developer


View Profile
March 24, 2017, 08:36:31 PM
 #15

Pretty much. You'd have to use the HMAC message field as a nonce to try and hash your private root key into your chaincode. Then you'd have to convince me to replace the current message field with yours (or maintain your own fork for this purpose).

Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3074



View Profile
March 24, 2017, 09:38:33 PM
 #16

Yikes, that doesn't sound like a good trade off. I'll stick with the risk of the toner on my paper backups degrading, I think

Vires in numeris
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3682
Merit: 1347

Armory Developer


View Profile
March 24, 2017, 11:04:54 PM
 #17

You could always create a new wallet and gradually migrate your funds there. Maybe that's a feature to think about actually, the ability to designate a wallet as the recipient of change.

oldseven (OP)
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
March 27, 2017, 01:52:57 AM
 #18

My wallet version is 1.35c. I can see a root key(18 words phrase). Maybe it's the chain code you mentioned.
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3682
Merit: 1347

Armory Developer


View Profile
March 27, 2017, 11:55:59 AM
 #19

My wallet version is 1.35c. I can see a root key(18 words phrase). Maybe it's the chain code you mentioned.

It is not, that's just the root key. Let me get this straight, are you trying to implement Armory's derivation scheme, or are you under the misconception that a BIP32 compliant implementation can reproduce it? Because it cannot.

oldseven (OP)
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
March 28, 2017, 03:33:46 AM
 #20

My wallet version is 1.35c. I can see a root key(18 words phrase). Maybe it's the chain code you mentioned.

It is not, that's just the root key. Let me get this straight, are you trying to implement Armory's derivation scheme, or are you under the misconception that a BIP32 compliant implementation can reproduce it? Because it cannot.

I don't know the concept of ChainCode. Can you explain about it?
Pages: [1] 2 »  All
  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!