Author

Topic: Can't see all of my transactions (Read 241 times)

HCP
legendary
Activity: 2086
Merit: 4361
August 24, 2020, 03:29:26 PM
#18
If you don't currently hold any funds in the wallet (and don't plan on doing so in the future), then I would recommend that you make sure you have your paper backup, migrate all your usage to the wallet(s) of your choice and then simply cross the "proof of ownership" bridge when you need to.

If you're going to continue to use Bitcoin Core (as a non-pruned node), then not having Armory installed isn't a big issue, as you can simply re-install, restore wallet etc... The problem would be if you wanted to ditch Bitcoin Core altogether and move to a lightweight SPV wallet like Electrum.

In that scenario, if you did have to try and prove ownership, you'd need to install and sync Bitcoin Core again... which could take hours/days etc. Undecided
newbie
Activity: 15
Merit: 0
August 24, 2020, 12:55:05 PM
#17
Yeah, if you just want a full history of all your transactions, and don't need the ability to spend any funds and/or sign any transactions... importing addresses into a watching-only wallet would give you that info.
Full history and sign transactions is the only purpose for this wallet further on. I don't know if I ever need but I think it's good to at least have the possibility.

Signing messages with P2SH addresses is "a bit of a mess"™... The primary reason being that there is no guarantee that a P2SH address actually has a private key to sign the message with... as they are a "Script Hash"... and the script doesn't necessarily involve private/public keys. Some wallets like Electrum, Mycelium and Trezor support signing/verifying using P2SH addresses... but it can be very inconsistent across implementations as there is no real "standard" Undecided

Indeed, if you attempt to sign a message within Armory using one of the P2SH-P2PK addresses, it will give you a warning that this is not supported:
https://i.imgur.com/50k32Hk.png

So, "Proving ownership" is going to be difficult... I would suspect that if you needed to do so, you would have to deposit some funds into that address and then send a transaction from the address to prove that you have control over it.

That's a good option! Only downside of this is that I can't get away from armory (a full node with a growing blockchain). Because the problem with importing some of the private keys
HCP
legendary
Activity: 2086
Merit: 4361
August 23, 2020, 03:07:21 PM
#16
Yeah, if you just want a full history of all your transactions, and don't need the ability to spend any funds and/or sign any transactions... importing addresses into a watching-only wallet would give you that info.

Signing messages with P2SH addresses is "a bit of a mess"™... The primary reason being that there is no guarantee that a P2SH address actually has a private key to sign the message with... as they are a "Script Hash"... and the script doesn't necessarily involve private/public keys. Some wallets like Electrum, Mycelium and Trezor support signing/verifying using P2SH addresses... but it can be very inconsistent across implementations as there is no real "standard" Undecided

Indeed, if you attempt to sign a message within Armory using one of the P2SH-P2PK addresses, it will give you a warning that this is not supported:


So, "Proving ownership" is going to be difficult... I would suspect that if you needed to do so, you would have to deposit some funds into that address and then send a transaction from the address to prove that you have control over it.
newbie
Activity: 15
Merit: 0
August 23, 2020, 05:34:00 AM
#15
The problem is that the "P2SH-P2PK" addresses are fairly unique to Armory. There is no way that I know of to import these into Electrum or any other wallet for that matter.

They are not P2SH-P2WPKH addresses...

2 new script types have been introduced on top of legacy P2PKH:
 - P2SH-P2PK: nested P2PK script. Uses compressed public keys.
 - P2SH-P2WPKH: nested P2WPKH SegWit single sig output script.


You can see goatpig's description of how these addresses work, and what you'd need to do to be able to spend from them (ie. manually create the raw transaction, then sign it using the private key), here: https://bitcointalksearch.org/topic/m.27777791

(NOTE: for anyone interested in the code, the link that goatpig provided to the code that creates the P2SH-P2PK script in his post above, is slightly outdated... and the getP2PKScript() function is now a few lines further down. The link to the current code is: https://github.com/goatpig/BitcoinArmory/blob/master/cppForSwig/Wallets.cpp#L2707)

I got a 0 balance in my armory wallet. So I can't spend anything in it. My only reason for this thread is because I want my history in a place that doesn't take up so much space. That's why I want to import it all to electrum.
And I want to have the possibility to sign a message / prove that it's my wallet / address. I can do that in armory, but as I said it takes up to mutch space :/

I don't know if it's a solution but what if I imported all the private keys and then the addresses for the transaction that I can't see trough my private key because the WIF problem. Can I still prove that all of the transactions belongs to me even if I only import some of the addresses as a "watch only" address?
HCP
legendary
Activity: 2086
Merit: 4361
August 22, 2020, 04:03:10 PM
#14
The problem is that the "P2SH-P2PK" addresses are fairly unique to Armory. There is no way that I know of to import these into Electrum or any other wallet for that matter.

They are not P2SH-P2WPKH addresses...

2 new script types have been introduced on top of legacy P2PKH:
 - P2SH-P2PK: nested P2PK script. Uses compressed public keys.
 - P2SH-P2WPKH: nested P2WPKH SegWit single sig output script.


You can see goatpig's description of how these addresses work, and what you'd need to do to be able to spend from them (ie. manually create the raw transaction, then sign it using the private key), here: https://bitcointalksearch.org/topic/m.27777791

(NOTE: for anyone interested in the code, the link that goatpig provided to the code that creates the P2SH-P2PK script in his post above, is slightly outdated... and the getP2PKScript() function is now a few lines further down. The link to the current code is: https://github.com/goatpig/BitcoinArmory/blob/master/cppForSwig/Wallets.cpp#L2707)
newbie
Activity: 15
Merit: 0
August 22, 2020, 03:11:27 PM
#13
But I guess I need to find what private key that is and add the prefix "P2SH-P2PK:privatkey", but how will I know which private key it is? Do you know that HCP?
There isn't a way to distinguish a P2SH private key from a P2PKH private key; the WIF is exactly the same and they can be used to generate both.
In other case I can create a new wallet and import the private key one by one and see which one that hasn't any transaction and add the prefix to it?
Yes, that's the most ideal way unless you can write a script to screen through all the private keys using the different formats.

The prefix is "p2wpkh-p2sh:".

I do select a change address that starts with 3 and it has 2 transactions. One incoming and one outgoing. I do get the base58 private key from that address and the private key starts with a 5. When I importing it to electrum I do write p2wpkh-p2sh:privatekey but the next button is still not enabled. However if I add "p2pkh:" as a prefix it's get enabled. But that doesn't show any transactions.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
August 22, 2020, 09:47:55 AM
#12
-snip-
Ok so I found the transaction as a "P2SH-P2PK" change address. But I guess I need to find what private key that is and add the prefix "P2SH-P2PK:privatkey", but how will I know which private key it is? Do you know that HCP?

In other case I can create a new wallet and import the private key one by one and see which one that hasn't any transaction and add the prefix to it?

Edit: Tried to take one private key that didn't have any transaction when importing it and add the prefix "P2SH-P2PK:" but the "next" button wasn't enabled...
The "Key List" export should have the address together with its private key... but if you didn't saved them, just get them individually from Armory.
View HCP's post's 2nd image, the "Wallet Properties", from there expand where the address belongs and double-click the address;
Click "View Address Keys" to get its private key.

To import it to Electrum, use p2wpkh-p2sh: as written in the 'info'.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
August 22, 2020, 08:08:03 AM
#11
But I guess I need to find what private key that is and add the prefix "P2SH-P2PK:privatkey", but how will I know which private key it is? Do you know that HCP?
There isn't a way to distinguish a P2SH private key from a P2PKH private key; the WIF is exactly the same and they can be used to generate both.
In other case I can create a new wallet and import the private key one by one and see which one that hasn't any transaction and add the prefix to it?
Yes, that's the most ideal way unless you can write a script to screen through all the private keys using the different formats.

The prefix is "p2wpkh-p2sh:".
newbie
Activity: 15
Merit: 0
August 22, 2020, 07:35:34 AM
#10
Electrum will import the legacy address (P2PKH) derived from the private key by default.
If some of those addresses aren't legacy, you'll have to add a prefix when importing the keys to Electrum.

Using this format (will show when you click 'info'):
https://i.imgur.com/XA2P081.png

Ok so I found the transaction as a "P2SH-P2PK" change address. But I guess I need to find what private key that is and add the prefix "P2SH-P2PK:privatkey", but how will I know which private key it is? Do you know that HCP?

In other case I can create a new wallet and import the private key one by one and see which one that hasn't any transaction and add the prefix to it?

Edit: Tried to take one private key that didn't have any transaction when importing it and add the prefix "P2SH-P2PK:" but the "next" button wasn't enabled...
newbie
Activity: 15
Merit: 0
August 22, 2020, 06:37:01 AM
#9
It sounds like your Armory might have been configured to use a different type of "Change" address...

Is it set to "Auto Change" or is "Force a script type" set? If "Force Type", what is the "type" that it is set to? Huh


"Auto" will create change outputs that will try to match the recipient type in an effort to increase privacy (it makes it harder to determine what the change output is)... so it's possible that while your "receive" address types were "Legacy", your change outputs were going to "P2SH-P2PK" addresses or "Nested SegWit" (P2SH-P2WPKH) addresses.


I have "Auto". I do have a lot of transactions below "P2SH-P2PK" and none below "P2SH-P2WPKH".

so there are lots of contradictory things in this thread. you say the balance is correct but also say certain transactions are missing.

it would be best if you simply created a new deterministic electrum wallet and sent all your coins to an address in that using armory. exporting and importing private keys can be error prone as you've discovered.

I moved my coins when I had armory to another wallet. Then I imported the "old" armory wallet private keys into electrum. The balance is zero in both armory and electrum  Wink
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
August 21, 2020, 10:40:38 PM
#8
Edit: Finally I found I solution. When I exported the addresses (not the private keys), did I get all of the transactions. Anyone got an answer for this? Smiley
Electrum will import the legacy address (P2PKH) derived from the private key by default.
If some of those addresses aren't legacy, you'll have to add a prefix when importing the keys to Electrum.

Using this format (will show when you click 'info'):


In electrum I can only see the first one and the size is the outputs not the amount in btc that I did send, is it possible to change that as well?
-snip-
So my output will be 3.5 btc and my change will be 2,5 btc.
The transaction amount in armory is 1 btc, but in electrum it is 3.5 btc.
Probably because Armory is seeing the other output as change because it belongs to the wallet.
Electrum doesn't because the change address wasn't imported in that imported wallet.
legendary
Activity: 3682
Merit: 1580
August 21, 2020, 06:45:04 PM
#7
so there are lots of contradictory things in this thread. you say the balance is correct but also say certain transactions are missing.

it would be best if you simply created a new deterministic electrum wallet and sent all your coins to an address in that using armory. exporting and importing private keys can be error prone as you've discovered.
HCP
legendary
Activity: 2086
Merit: 4361
August 21, 2020, 05:30:37 PM
#6
It sounds like your Armory might have been configured to use a different type of "Change" address...

What are your settings under: "File -> Settings -> Fee and Address Types":

Is it set to "Auto Change" or is "Force a script type" set? If "Force Type", what is the "type" that it is set to? Huh


"Auto" will create change outputs that will try to match the recipient type in an effort to increase privacy (it makes it harder to determine what the change output is)... so it's possible that while your "receive" address types were "Legacy", your change outputs were going to "P2SH-P2PK" addresses or "Nested SegWit" (P2SH-P2WPKH) addresses.

Goto "Wallet Properties"... and check the listings for your "Change Addresses"... it will show you exactly which addresses your change outputs are in:

newbie
Activity: 15
Merit: 0
August 21, 2020, 04:57:54 PM
#5
It seems to be something with the change that I got back. Can't see the transaction when sending the change that I previously got.

Edit: Finally I found I solution. When I exported the addresses (not the private keys), did I get all of the transactions. Anyone got an answer for this? Smiley
newbie
Activity: 15
Merit: 0
August 21, 2020, 03:41:38 PM
#4
Check the Armory transaction details of the one does not exist on Electrum and look for the address if it's the same as what you import from Electrum wallet.

It could be a different address? If that's the case it won't show in your Electrum. So you will need to take the private key from Armory and import it to Electrum if you want to add the transaction history of this address.

Well I did exported my private keys as base58. Don't know if there is anything more to get out of it, perhaps I should check in the armory forum. Or if it was something that went wrong when I imported the keys into electrum.


In electrum I can only see the first one and the size is the outputs not the amount in btc that I did send, is it possible to change that as well?
What do you mean by the bolded part? Can you please send a screenshot if you don't mind?

I'll try explain again, and this is what I think about the problem, I'm not sure.
Eg I will send 1 btc to bob and let say that I don't have any address with the correct amount of btc. Because I only received 0.5 btc and 3 btc. So to send 1 btc I need to send 3 btc + 0.5 btc (don't know why the 3 btc transaction is enough). So my output will be 3.5 btc and my change will be 2,5 btc.
The transaction amount in armory is 1 btc, but in electrum it is 3.5 btc.
legendary
Activity: 2324
Merit: 1258
Heisenberg
August 21, 2020, 03:07:37 PM
#3
Not all of my transaction is visible on electrums history tab. I imported all of the private keys into electrum from armory. But I did notice that there are some transactions that I can't see.
I don't have a clue why and I can't find any setting that seems to help me.
It's likely you missed out some private keys of certain change addresses you used. Try cross-checking and ensure you imported all the addresses you used to electrum wallet.

In electrum I can only see the first one and the size is the outputs not the amount in btc that I did send, is it possible to change that as well?
What do you mean by the bolded part? Can you please send a screenshot if you don't mind?
legendary
Activity: 3374
Merit: 3095
BTC price road to $80k
August 21, 2020, 01:40:42 PM
#2
Check the Armory transaction details of the one does not exist on Electrum and look for the address if it's the same as what you import from Electrum wallet.

It could be a different address? If that's the case it won't show in your Electrum. So you will need to take the private key from Armory and import it to Electrum if you want to add the transaction history of this address.
newbie
Activity: 15
Merit: 0
August 21, 2020, 01:27:18 PM
#1
Not all of my transaction is visible on electrums history tab. I imported all of the private keys into electrum from armory. But I did notice that there are some transactions that I can't see.
I don't have a clue why and I can't find any setting that seems to help me.

For an example I made 3 transactions in armory. The second was made after one hour, the third was made after two days.
In electrum I can only see the first one and the size is the outputs not the amount in btc that I did send, is it possible to change that as well?

(The balance is equal with the balance in armory)
Jump to: