Pages:
Author

Topic: Verify if seed is working (Read 361 times)

hero member
Activity: 714
Merit: 1010
Crypto Swap Exchange
July 31, 2023, 07:58:32 AM
#21
Then I sent 40 sat to a receiving address of this last cold computer hoping that the amount would appear on the first hot computer. The transaction is confirmed by bitcoin explorer, but nothing appears on the hot wallet and I wonder why.

It was revealed that you used 40k Sats to test.

Why people don't use Testnet for cheap testing? It's free, there are free faucets like https://testnet.coinfaucet.eu which give you near instant enough Testnet coins to play with, usually more than 1mio tSats on one request from the faucet. That is enough to play around with your wallet and practice a bunch of things to get very familiar with your setup. All without fear of loosing anything of value (well, show some respect to those cute tSats).

I'd say, if your wallet doesn't support Testnet coins, ditch the wallet and chose a more decent one. Anyway, Electrum supports Testnet Bitcoin with ease. If you can do recovery with Testnet coins, your recovery shouldn't fail in Mainnet as long as you don't mess up with derivation paths.

So, it was the derivation path in the end it seems. Finally...


What I want to say and advise: practice thoroughly every aspect of your wallet setup including full desaster recovery before you load your wallet with coins of value. Testnet coins are perfect for this, except you can't send them to exchanges or similar.
How many wallet users actually do such thorough exercises and practice with their wallet setup? I'm not sure, if I want to hear the answers.

Of course it's imperative to use a secure and airgapped/cold environment as testing playground. You don't want to spoil the security of your recovery words, in particular if they are coming from a hardware wallet.

Document redundantly your recovery words together with some additional helpful details like
  • date of creation
  • which wallet generated the recovery words
  • purpose of this wallet
  • derivation path and if more than the first account is in use
  • a subtle hint (more hidden than explicit) if mnemonic passphrase(s) are used, but document those in any case separately, never together with the mnemonic recovery words
newbie
Activity: 16
Merit: 9
July 16, 2023, 02:00:00 PM
#20

As hosseinimr93 said, your derivation path must start with 84' for native SegWit (Bech32) addresses. Native SegWit addresses start with bc1q.

Try these derivation paths:
m/84'/0'/0'
or
m/84'/0'/0'/0'

By the way, did you happen to use any step-by-step guides or tutorials while setting up Electrum with your KeepKey hardware device? It can be useful to retrace all your steps to find out what exactly is happening (perhaps you used an additional passphrase, or you chose a different account on your KeepKey device ...)

It worked ! !  m/84'/0'/0' worked the addresses are the same. Wow, what an effort! Many many thanks,
legendary
Activity: 1526
Merit: 1359
July 16, 2023, 11:47:26 AM
#19
It seems you all agree that the addresses should be the same, but they are not. I created a new wallet with the same bit39 seed, this time using keepKey derivation path: m/44'/0'/0' but without using a keepkey. Result: the addresses are different.

As hosseinimr93 said, your derivation path must start with 84' for native SegWit (Bech32) addresses. Native SegWit addresses start with bc1q.

Try these derivation paths:
m/84'/0'/0'
or
m/84'/0'/0'/0'

By the way, did you happen to use any step-by-step guides or tutorials while setting up Electrum with your KeepKey hardware device? It can be useful to retrace all your steps to find out what exactly is happening (perhaps you used an additional passphrase, or you chose a different account on your KeepKey device ...)
legendary
Activity: 2380
Merit: 5213
July 16, 2023, 10:52:40 AM
#18
I created a new wallet with the same bit39 seed, this time using keepKey derivation path: m/44'/0'/0' but without using a keepkey. Result: the addresses are different.
Your addresses start with bc1q. Am I right?
If that's the case, the first number in the derivation path must be 84. If the first number is 44, it would generate legacy addresses (addresses that start with 1).

I asked about Keepkey's derivation path on their discord server, but I haven't got any response yet.
newbie
Activity: 16
Merit: 9
July 16, 2023, 10:38:56 AM
#17
It seems you all agree that the addresses should be the same, but they are not. I created a new wallet with the same bit39 seed, this time using keepKey derivation path: m/44'/0'/0' but without using a keepkey. Result: the addresses are different.

So I do not know what to think, but lacking any other new idea, it seems the only way to recover a keepkey hardware wallet with a broken keepkey is using another new keepkey which may or may not be available in the long term future. So I would be comfortable using it only for small amounts. But I would keep most of my funds in a standard Electrum hot-cold arrangement without hardware wallet; in fact I tried to verify the seed recover and in this case, without hardware wallet the verification works and I find the money.

Also this matter cannot be overly complicated, because, in general when something is too complicated it is easier it breaks somewhere, when you more need it. Simple stuff is more solid. So the standard Electrum hot-cold arrangement is very simple and easier to trust.

In fact, the purpose of this verification thread was exactly to understand how much this hardware wallet chance can be trusted. For that I asked help to you who are so much more  knowledgeable than me. So again many thanks for your very valuable help.

legendary
Activity: 2170
Merit: 1789
July 16, 2023, 05:59:18 AM
#16
But I am not interested in any seed, I am interested only in the seed created by KeepKey hardware wallet. For that to be verified a transaction should somehow be present both on the Electrum-Keep-Key hot wallet and the cold wallet generated from the Keep-key seed and this is apparently impossible to do.
If by "present" you mean showing up on your other wallet while it is offline and not connected over the internet to update your balance, then I don't think that is true. In most cold-wallet setups you would use the watch-only/hot-wallet to check your balance with the block explorer and so on. As mentioned above, if the address are the same and you use the same seed then it is guaranteed to show up regardless of what wallet you use as long as they use the same derivation path. CMIIW.
legendary
Activity: 1526
Merit: 1359
July 16, 2023, 04:40:04 AM
#15
what you would need to do is not import the seed or any private keys..
instead you would have to import the MASTER PUBLIC KEY not the sending transactions singular public key

dont follow the other peoples advice about importing private keys or seeds
~

But the thing is that he does not want to create a watch-only wallet, he wants to verify his backup seed. At least that is how I understood it...



~
The only other possibility mentioned in this thread is that I imported a wrong seed into the cold wallet. I checked twice and think highly unlikely, but tomorrow I may try again.

You seem to be unnecessarily complicating things too much. You do not need to make transactions to verify your seed phrase. All you have to do is "make" your wallet software to show you the same set of addresses as in the Electrum/KeepKey setup (which you seem to call a "hot" wallet).

You have to understand what derivation path means in hierarchical deterministic wallets. Basically, this means that you can generate many, many different wallets and key pairs from the same seed phrase. If I am not mistaken, Electrum and KeepKey are using different derivation paths - so you have effectively created 2 different wallets from the same seed phrase.

Now, I do not know exactly which derivation path KeepKey uses, you should consult the documentation or look for that information online, but when you want to recreate the same wallet in a new Electrum installation, it is important to tell it which derivation path to use.
newbie
Activity: 16
Merit: 9
July 15, 2023, 10:40:21 PM
#14
what you would need to do is not import the seed or any private keys..
instead you would have to import the MASTER PUBLIC KEY not the sending transactions singular public key

dont follow the other peoples advice about importing private keys or seeds

i have not used electrum myself but may wallets just scan for the first address of possibilities until you press a button to check the next possibility. some wallets also dont scan the blockchain for all addresses, and some dont scan/rescan until you re-open the wallet software so it can update its position and realise it need to scan the blockchain

so simply find the MASTER PUBLIC KEY on your cold wallet. only import the MASTER PUBLIC KEY into electrum
https://bitcoinelectrum.com/creating-a-watch-only-wallet/
then check the history tab as well as the receive tab

if nothing shows up try to resync the wallet(usually simply restart the app) or
https://bitcoinelectrum.com/frequently-asked-questions/#electrum-is-stuck-at-synchronizing-what-can-i-do-to-fix-this


franky1, many thanks, this is easy to do and even I did it and the satoshis show up, but this proves nothing related to my aim, because this test would work with any seed I wanted to import into the cold wallet. But I am not interested in any seed, I am interested only in the seed created by KeepKey hardware wallet. For that to be verified a transaction should somehow be present both on the Electrum-Keep-Key hot wallet and the cold wallet generated from the Keep-key seed and this is apparently impossible to do.

In other words all that matters in this case is generated by the Electrum-keepkey hot wallet, so the public key that matters is the public key of this wallet. But if I import this public key into the cold wallet (generated from the hot wallet seed) there is no sense whatsoever.

The only other possibility mentioned in this thread is that I imported a wrong seed into the cold wallet. I checked twice and think highly unlikely, but tomorrow I may try again.

The only other way to check this verification is to send the money to an address of the "hot" wallet, rather than of the cold wallet as I did, then export the master public key of the cold wallet to a third wallet (hot) a see if the transaction appears.  I do not see that other chances appeared in this thread.

At least this is what I understand from this thread, with the kind help you gave me. Now I can see a bit more in this matter that is certainly not trivial.
legendary
Activity: 4424
Merit: 4794
July 15, 2023, 09:16:00 PM
#13
what you would need to do is not import the seed or any private keys..
instead you would have to import the MASTER PUBLIC KEY not the sending transactions singular public key

dont follow the other peoples advice about importing private keys or seeds

i have not used electrum myself but may wallets just scan for the first address of possibilities until you press a button to check the next possibility. some wallets also dont scan the blockchain for all addresses, and some dont scan/rescan until you re-open the wallet software so it can update its position and realise it need to scan the blockchain

so simply find the MASTER PUBLIC KEY on your cold wallet. only import the MASTER PUBLIC KEY into electrum
https://bitcoinelectrum.com/creating-a-watch-only-wallet/
then check the history tab as well as the receive tab

if nothing shows up try to resync the wallet(usually simply restart the app) or
https://bitcoinelectrum.com/frequently-asked-questions/#electrum-is-stuck-at-synchronizing-what-can-i-do-to-fix-this
newbie
Activity: 16
Merit: 9
July 15, 2023, 08:34:29 PM
#12
You can your transactions ID in transaction history of your address. Any block explorer should display that.
I found a page where it tells that this transaction has 80 confirmations and is confirmed.
Either you are importing a wrong seed phrase or the addresses you are looking for had been generated on an uncommon derivation path.
Provided that you are generating the addresses on the same derivation path, your seed phrase should generate the same addresses with the same order.
I used the same settings for both Electrum wallets, with the exception that the first "hot" is a hardware wallet, so it does not have a private key and the second "cold" is a seed imported wallet and so it has a private key.  This may involve the difference mentioned by @franky1, and for that the addresses may be different. At least that is what I understood from @franky1 post.
Create a new wallet and select "Import Bitcoin addresses or private keys" and enter your address.
Take note that with importing your address, you create a watch-only wallet and you won't be able to spend your fund from that. A watch-only wallet is used for checking transaction history and creating unsigned transaction.
yes, thanks, I checked this, but this way I understand you create a new wallet, you are not importing the address that received the sats into the hot wallet with the same seed.
If you want the fund to be spendable, you should import you private key, instead.
I just wanted a verification that the seed works without a hardware wallet. But I understand that this verification is just impossible without exposing the private key.
legendary
Activity: 2380
Merit: 5213
July 15, 2023, 07:30:46 PM
#11
Tried to google for TXID but all results point to blockchain explorer and in the transaction page of it I can find no mention of TXID
You can your transactions ID in transaction history of your address. Any block explorer should display that.

That is the first thing I checked. But the set of addresses are totally different, at least looking at the beginning. So I thought that different wallets may mix the addresses randomly, but the same be able to receive the transaction, for that I tested with real money.
Either you are importing a wrong seed phrase or the addresses you are looking for had been generated on an uncommon derivation path.
Provided that you are generating the addresses on the same derivation path, your seed phrase should generate the same addresses with the same order.


Does anyone know how to import single addresses into Electrum? Well, in my case into the "hot" Electrum
Create a new wallet and select "Import Bitcoin addresses or private keys" and enter your address.
Take note that with importing your address, you create a watch-only wallet and you won't be able to spend your fund from that. A watch-only wallet is used for checking transaction history and creating unsigned transaction. If you want the fund to be spendable, you should import you private key, instead.

For importing your private key, you should add a prefix to specify the address type.
You should use "p2pkh:" prefix, if your address start with 1, "p2wpkh-p2sh:" prefix, if it starts with 3 and "p2wpkh:", if it starts with bc1q.

For example, if you want to import the private key of an address starting with bc1q, you should enter your private key in the following format.


Code:
p2wpkh:bc1q.....................


It may worth mentoning that with entering your private key on an online device, you would reduce your security.
newbie
Activity: 16
Merit: 9
July 15, 2023, 06:53:37 PM
#10
many seed wallets need to "activate" addresses they use
by this i mean you ask your (cold)wallet to supply you an address of the seed as a receiver address
however due to cold status it has no blockchain to check for a list the amounts/balances of.

if it was hot that made the tx and requested the receiver address from seed, it then triggers the wallet to scan the blockchain for any transactions that use that receiving address.

now here is the thing, because a seed is not a privkey for 1 address but a phrase for many many thousands of addresses ..most wallets dont scan the blockchain for all possible addresses of the seed. each address you intend to use you need to activate in the wallet to tell the wallet to start searching for balance info when you make payments or request addresses to receive payments
this is why you need to trigger the actual hot wallet to actually watch for the receiving address so it can scan for the transactions

basically the hot wallet has been told to watch the sending address via you importing a single pubkey of sending address but has not been triggered to also watch the receiving address because the hot wallet has not been given the receiving address to watch. because you are only handing the hotwallet public keys and as your OP mentions, you only sent it the public key of the sending address and dont want to send it every receiving address each time. thus the hot wallet does not have the public address of receiving coins because you have not told it the receiving address to watch

Very interesting, many thanks

the easiest option is to re-use addresses where you get payments from yourself and others to a specific same address repeatedly thus its always scanning just one address you imported to watch, thus not needing to import public key per payment
Does anyone know how to import single addresses into Electrum? Well, in my case into the "hot" Electrum
legendary
Activity: 1554
Merit: 1139
July 15, 2023, 06:40:03 PM
#9
Cold wallets simply designated wallets that have got no internet connection history or haven’t gone online l. This implies you can basically send in coins as you wish but, can’t send the coins out without going online. That’s how the tech on works. The bitcoins are practically online, operating in a bitcoin blockchain which works in an interconnection of networks to pass data and so, not having your cold wallet online while transacting simply puts the transaction in transit until a network connection is been turned on.

Cold wallets serves you better in storage but don’t have much use when it comes to s being the coins out. That you would need a hot wallet as you’ve termed it for and as such, you’ve got to ho online.
legendary
Activity: 4424
Merit: 4794
July 15, 2023, 06:24:19 PM
#8
many seed wallets need to "activate" addresses they use
by this i mean you ask your (cold)wallet to supply you an address of the seed as a receiver address
however due to cold status it has no blockchain to check for a list the amounts/balances of.

if it was hot that made the tx and requested the receiver address from seed, it then triggers the wallet to scan the blockchain for any transactions that use that receiving address.

now here is the thing, because a seed is not a privkey for 1 address but a phrase for many many thousands of addresses ..most wallets dont scan the blockchain for all possible addresses of the seed. each address you intend to use you need to activate in the wallet to tell the wallet to start searching for balance info when you make payments or request addresses to receive payments
this is why you need to trigger the actual hot wallet to actually watch for the receiving address so it can scan for the transactions

basically the hot wallet has been told to watch the sending address via you importing a single pubkey of sending address but has not been triggered to also watch the receiving address because the hot wallet has not been given the receiving address to watch. because you are only handing the hotwallet public keys and as your OP mentions, you only sent it the public key of the sending address and dont want to send it every receiving address each time. thus the hot wallet does not have the public address of receiving coins because you have not told it the receiving address to watch

however to now hand the hot wallet the seed to then have easy hot access to the whole list of possible receive addresses to auto view balances without effort, then defeats the point of using cold wallet because now your seed is exposed to a hot wallet

so now your at the conundrum of avoiding cold for convenience of easy hot balance viewing.
or
just importing public keys you want to view values of, as and when you want to view balances, thus keeping the seed cold

the easiest option is to re-use addresses where you get payments from yourself and others to a specific same address repeatedly thus its always scanning just one address you imported to watch, thus not needing to import public key per payment
newbie
Activity: 16
Merit: 9
July 15, 2023, 06:00:40 PM
#7
First many thanks to all, trying to clarify this matter

That's 0.00040000 BTC or 40,000 satoshi, not 40 satoshi.
Thanks

What exactly did you do?
You have a BIP39 seed phrase and you tried to import that into electrum to make sure your wallet can be recovered. Am I right?
Yes
If so, you should create a new wallet and select "Standard wallet" and then "I already have a seed". Click on "Options" and check "BIP39 seed" and enter your seed phrase.
In the next step, you must specify the script type. Select "legacy", if your addresses start with 1, p2sh-segwit, if they start with 3 and native segwit, if they start with bc1.
That is what I did, I selected bc1
legendary
Activity: 1526
Merit: 1359
July 15, 2023, 05:26:55 PM
#6
I am not sure, but this is what blockchain explorer writes about this transaction:

You say that you checked the transaction on the blockchain explorer, but in fact you checked the balance of the address. You need the TXID to find the transaction on the blockchain explorer. If your transaction was confirmed on the network, you should have its TXID.

Your seed phrase is all you need. If you import your seed phrase in a new wallet and select the correct script type and derivation path, you should see the same addresses.

No I did nothing about script type and derivation path.  So in the lack of these settings, is there no way the BTC arrives and the verification can work?

What do you mean by that? When you import your seed into a new wallet, it asks you which script type, i.e. which type of wallet you want. If you choose the wrong one, you will get a completely different set of addresses in your wallet.

But instead of testing with transactions, and potentially losing money, why not simply compare the addresses in your "hot" wallet and your "cold" wallet to see if they match?
legendary
Activity: 2380
Merit: 5213
July 15, 2023, 05:21:58 PM
#5
I am not sure, but this is what blockchain explorer writes about this transaction:
That's 0.00040000 BTC or 40,000 satoshi, not 40 satoshi.

No I did nothing about script type and derivation path.  So in the lack of these settings, is there no way the BTC arrives and the verification can work?
What exactly did you do?
You have a BIP39 seed phrase and you tried to import that into electrum to make sure your wallet can be recovered. Am I right?

If so, you should create a new wallet and select "Standard wallet" and then "I already have a seed". Click on "Options" and check "BIP39 seed" and enter your seed phrase.
In the next step, you must specify the script type. Select "legacy", if your addresses start with 1, p2sh-segwit, if they start with 3 and native segwit, if they start with bc1.
newbie
Activity: 16
Merit: 9
July 15, 2023, 04:58:21 PM
#4
Are you sure you sent 40 satoshi? That's smaller than the dust limit and such a transaction should be rejected by the nodes.
The dust limit is 294 satoshi for segwit addresses and 546 satoshi for legacy addresses and you can't make a transaction creating smaller outputs.

I am not sure, but this is what blockchain explorer writes about this transaction:

Your seed phrase is all you need. If you import your seed phrase in a new wallet and select the correct script type and derivation path, you should see the same addresses.

No I did nothing about script type and derivation path.  So in the lack of these settings, is there no way the BTC arrives and the verification can work?
legendary
Activity: 2380
Merit: 5213
July 15, 2023, 04:26:33 PM
#3
Then I sent 40 sat to a receiving address of this last cold computer hoping that the amount would appear on the first hot computer. The transaction is confirmed by bitcoin explorer, but nothing appears on the hot wallet and I wonder why.
Are you sure you sent 40 satoshi? That's smaller than the dust limit and such a transaction should be rejected by the nodes.
The dust limit is 294 satoshi for segwit addresses and 546 satoshi for legacy addresses and you can't make a transaction creating smaller outputs.


I just want to verify that the seed really works on an independent installation without a hardware wallet and I supposed that in this case we should be able to use the same addresses. Otherwise how can we access the bitcoins?
Your seed phrase is all you need. If you import your seed phrase in a new wallet and select the correct script type and derivation path, you should see the same addresses.
legendary
Activity: 2408
Merit: 2226
Signature space for rent
July 15, 2023, 04:16:41 PM
#2
Have you not received the amount you sent? Your seed phrase should be compatible with any non-custodial wallet that supports that type of seed. There is nothing wrong, but your transaction has become dust because the transaction amount is now lower than the transaction fee.

For more information, please read this article: https://zebpay.com/blog/what-is-crypto-dust
Pages:
Jump to: