Pages:
Author

Topic: Why Electrum only generates SegWit addresses? (Read 393 times)

HCP
legendary
Activity: 2086
Merit: 4361
October 04, 2021, 09:37:16 PM
#22
But I see no reason why the person should downgrade his wallet as it will take much time, although it is an option that can be used, but why the person do not just use the latest version, click on view -> console and type in the first command above which will bring up seed phrase to generate legacy address and import it on the latest version of Electrum wallet directly, it is as easy as that.
It doesn't really take any time at all... and you don't need to downgrade anything.

Simply download the portable version of Electrum 4.0.9 and run it in it's own folder somewhere. It won't affect your current installed/standalone version or existing wallet files... and you'll be able to generate all the "legacy" seeds you like using the GUI without having to worry about renaming/moving wallet files, or messing about with the console commands.


Additionally, any wallet files made with 4.0.9 portable can be easily copied over to (or opened with) your 4.1.5 (or later) version and "upgraded" without issue.
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
I guess  if he wanna legacy addresses created via UI from the start he could downgrade his wallet to 4.0.9 first and upgrade it to the current version. Is this correct?
Yes, the legacy type of seed phrase will be generated, generating the legacy seed phrase from lower version like 4.0.9 and import it on latest version 4.1.5 will work, legacy address type will be generated.

But I see no reason why the person should downgrade his wallet as it will take much time, although it is an option that can be used, but why the person do not just use the latest version, click on view -> console and type in the first command above which will bring up seed phrase to generate legacy address and import it on the latest version of Electrum wallet directly, it is as easy as that.
legendary
Activity: 2268
Merit: 18711
I guess  if he wanna legacy addresses created via UI from the start he could downgrade his wallet to 4.0.9 first and upgrade it to the current version. Is this correct?
It is. Current versions of Electrum will still happily open legacy wallets. Alternatively, you can just download the old standalone version, run that (on a VM if needed), create a wallet, copy the wallet file over to your main Electrum install wallet folder, and then open it with your up-to-date installed version, without having to downgrade and upgrade.

By and large I cannot understand why people still wanna use the legacy addresses.  The latter bring to bear the  mix of  case lettering which may result in erroring especially when  telling  addresses verbally, not to mention the higher price  payed for transactions.
The only good reason at the moment is that they have a universally accepted way of signing messages and proving ownership, which is not yet the case for P2WPKH addresses. If anyone needs legacy addresses because a service they are using still doesn't support segwit addresses for withdrawal, I would encourage them to think about what kind of security and vulnerabilities such a service might have when they are 4 years behind in the most basic of updates.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
Since this thread is derailed from "Why" into "How",
I'll just share this trick to create legacy seeds using the GUI for all types of wallet including Multisig and 2FA without using commands:

Simply start Electrum with --nosegwit parameter and it will only generate legacy seeds.
For Windows, create a shortcut, edit its properties (Right-Click->Properties) and add it to the "Target:",
e.g: "C:\\electrum-4.1.5.exe" --nosegwit
legendary
Activity: 2268
Merit: 18711
So, none of the commands can create a multi-signature wallet and the only way to create a multi-signature is to use the GUI.
You cannot create a multi-sig wallet file using the command line (as far as I am aware), but you can generate multi-sig addresses.

You would first need to use create to generate your seed phrases and wallets, lets say 3 in this example for a 2-of-3 wallet.
You would then need to use getpubkeys to pull the public key from a given derivation path in each of those 3 wallets.
And then you would use createmultisig to generate a multi-sig address.

If you do try to do this, make sure you know how to sign a transaction from such an address before you send any coins to it. Also note that Electrum will order the public keys lexicographically as per BIP45, so you'll need to order them that way too when you use the createmultisig command or you will end up with a different address.
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
As you said that the second command doesn't generate a multi-signature wallet, I thought the first one may do it if we add an option to it.
So, none of the commands can create a multi-signature wallet and the only way to create a multi-signature is to use the GUI.
That is the fact, the main purpose of the commands, be it first or second is to generate a seed phrase which can be imported using the GUI, the seed phrase generated using the command can create legacy wallet including multisig which is of legacy type. In this cases, legacy address can be generated.
legendary
Activity: 2380
Merit: 5213
I don't know where I said that it's possible in the command line,
So, I misunderstood you. Sorry.
As you said that the second command doesn't generate a multi-signature wallet, I thought the first one may do it if we add an option to it.
So, none of the commands can create a multi-signature wallet and the only way to create a multi-signature is to use the GUI.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
What's the command or "create" command argument have you used to make the MultiSig wallet?
I used the GUI. I selected "Multi-signature wallet and then "I already have a seed". After that I entered the seed phrase generated by create() command and another seed as the second co-signer's seed.
I didn't know it's possible to create a multi-signature wallet using console. How did you that? What's the command?
I don't know where I said that it's possible in the command line, Charles is just talking about this one line in my post above:

-snip-
The second command won't create a MultiSig wallet though.


Thanks for all the replies.
I knew everything you explained but I don't understand why the developers has removed that option after v4.0.9 !
However, you can create any type of addresses in Electrum wizard by using BIP39 seed.
Well, no one countered this pull request and it was in "open" status for more than a month before being merged: #6806 - Wizard: do not ask seed type, default to segwit
But it's still open for comments though, ask them if you want to know the developers' say in that matter.
legendary
Activity: 2380
Merit: 5213
What's the command or "create" command argument have you used to make the MultiSig wallet?
I used the GUI. I selected "Multi-signature wallet and then "I already have a seed". After that I entered the seed phrase generated by create() command and another seed as the second co-signer's seed.
I didn't know it's possible to create a multi-signature wallet using console. How did you do that? What's the command?
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
But can not create legacy multisig wallet, but I have just known about this after nc50lc pointed it out in his above post, but the first command can be used.
What's the error you get?

I just created a 2of2 wallet using the seed phrase shown on your screenshot and another seed phrase.
It worked well.
What's the command or "create" command argument have you used to make the MultiSig wallet?
It'll work in the GUI but AFAIK, Charles' second command that I've pointed-out doesn't have MultiSig options.
legendary
Activity: 3374
Merit: 3095
Playbet.io - Crypto Casino and Sportsbook
~snip~


The error should be what you focus on, according to the image at the end of the error says "Remove the existing wallet first!"

That is why you get that error it's because Electrum couldn't generate a new wallet with the same wallet name if you use that command it will use the "default_wallet" so if you can rename your wallet default_wallet to default_wallet1 or any other name the command you use will work.

Look at mine

legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
Code:
create(seed_type="standard", wallet_path="c:\\users\\xxxxx\\appdata\\roaming\\electrum\\wallets\\Enter Wallet name Here")
Change the path as needed.
I changed xxxxx to my laptop name and also 'Enter wallet name' to what ever I liked, it worked. While xxxxx remain my computer name while changing the wallet name, I was able use the second command 'create' to generate more seed phrase without bringing up the error. khaled0111 is very right, for it not to create a wallet file of the same wallet name is the reason resulting to the error.

I have no merit left, you really deserve more merits.
legendary
Activity: 2380
Merit: 5213
Not sure if it is possible to specify the name of the wallet which will be created
It's possible.
o_e_l_e_o made a post about this command some days ago. I didn't notice it's the same command. Click here to read the post made by o_e_l_e_o.

To specify the wallet name, you need to add wallet_path to the command.
The command should be as follows.

Code:
create(seed_type="standard", wallet_path="c:\\users\\xxxxx\\appdata\\roaming\\electrum\\wallets\\Enter Wallet name Here")
Change the path as needed.
legendary
Activity: 2702
Merit: 3045
Top Crypto Casino
I got the same error too when I tried the create command.

I believe the reason is that the "make_seed" command only generates a seed phrase while the "create" command generates a seed and creates a wallet file with that seed. The default name for the created wallet is default_wallet, so if you already have a wallet with that name it will result in a name conflict, hence the error.

Not sure if it is possible to specify the name of the wallet which will be created but the easiest fix is to rename the old default_wallet file or to completely remove it if you are sure you don't need it.
legendary
Activity: 2380
Merit: 5213
I just tested this command and it didn't work.
It actually created normal legacy wallet
It's weird. Seems that something is wrong on my side. Below is the error I get.





But can not create legacy multisig wallet, but I have just known about this after nc50lc pointed it out in his above post, but the first command can be used.
What's the error you get?

I just created a 2of2 wallet using the seed phrase shown on your screenshot and another seed phrase.
It worked well.

Seed phrases I used:

Code:
jar unusual sad faith kid inherit local swamp pelican aunt page check

Code:
expand stable depth fog reason boost quote anchor barrel usage glance night

The wallet I created using above seeds:





but I don't understand why the developers has removed that option after v4.0.9 !
That's probably to encourage people to use segwit addresses.
newbie
Activity: 25
Merit: 14
Thanks for all the replies.
I knew everything you explained but I don't understand why the developers has removed that option after v4.0.9 !
However, you can create any type of addresses in Electrum wizard by using BIP39 seed.
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
The first command works for both normal legacy wallet and also legacy multisig wallet.

Code:
create(seed_type="standard")
I just tested this command and it didn't work.
It actually created normal legacy wallet

     
legendary
Activity: 2380
Merit: 5213
Code:
create(seed_type="standard")
I just tested this command and it didn't work.


To OP:
For creating a legacy multi-signature wallet in the case you want to be the owner of all the keys, generate legacy seed phrase as many as you need (for example 2 legacy seeds, if the wallet is supposed to be 1of2 or 2of2). After that, create a new wallet, select "Multi-signature wallet" and then "I already have a seed".

If the wallet is supposed to be owned by different people, you need to ask them their master public key (xpub).

By the way, why do you want to have a legacy wallet?
Using a segwit wallet, you can pay lower fees and it's not recommended to use a legacy wallet.
If a service doesn't support segwit addresses and that's why you want to use legacy addresses, my suggestion is to look for an alternative.
legendary
Activity: 3500
Merit: 6981
Top Crypto Casino
You can use this command to create legacy address from the Console tab
That might not be obvious to OP how to do it, in which case I'd point out that Pmalek made a post that I greatly appreciated:

I was able to create a wallet with legacy addresses, which you can't do with Electrum anymore, so that's a plus.
You can, but not in a standard way. You have to first enable the console tab by clicking on 'View' and 'Show Console'. Enter the following code in the console tab:
Code:
make_seed(128,"","standard")
Electrum will then generate a new 12-word seed for you to write down.

Here is an example of how it looks. For some reason, I had to do it twice because nothing happened the first time.


It works, and I swear I thought you weren't able to generate wallets with legacy addresses.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
-snip-
Why they removed the option to generate legacy Multi-signature addresses?
Because legacy doesn't have any advantages over SegWit and the "address compatibility issue" is now pretty much non-existent.
There are only a few custodial service that still don't support native SegWit addresses.

Take note that it's only depreciated in the GUI and affects other wallet types (2fa & standard), but it's still in the code and you can use the console like the reply above said.
The second command won't create a MultiSig wallet though.
Pages:
Jump to: