Author

Topic: Will Electrum support the coming B2x fork? (Read 1024 times)

HCP
legendary
Activity: 2086
Merit: 4361
November 07, 2017, 08:20:59 PM
#14
Awesome, amazing reply, HCP! Thanks so much.

One thing about creating the unsigned transaction at coinb.ind.  Under "network",  in the input part, they want us to enter a script (in addition to transaction ID, Transaction input no. - N, and amount). Is this something that's beyond the average noob's ability? Is it a copy/paste/slight modification of some existing script?
Small note: it isn't in the "Network" section... it is under the "Outputs/Inputs" section Wink

And you shouldn't need to worry about the scripts... when you put your address in at the top, it should automatically load all the Unspent Transaction Outputs (UTXO's) for that address, including all the relevant details like the script etc.

Additionally, if you need to load several UTXOs from different addresses, make sure you UNTICK the "Clear Inputs" box... that way you can just keep pasting in addresses and clicking "Load" and it will find all the UTXOs and add them to the list (click the "Inputs" tab to see them)... If you decide you don't want to include a specific input from any given address, you can remove individual inputs by clicking the "-" button next to the input you don't want and it will clear it off.
member
Activity: 138
Merit: 14
November 07, 2017, 05:47:59 PM
#13
Awesome, amazing reply, HCP! Thanks so much.

One thing about creating the unsigned transaction at coinb.ind.  Under "network",  in the input part, they want us to enter a script (in addition to transaction ID, Transaction input no. - N, and amount). Is this something that's beyond the average noob's ability? Is it a copy/paste/slight modification of some existing script?
HCP
legendary
Activity: 2086
Merit: 4361
November 07, 2017, 05:12:40 PM
#12
1) Go to https://coinb.in/#newTransaction - this I can manage to do Smiley
2) Copy paste an address I want to spend - can do
3) Click "Advanced options" - Total success
4) I can now see the nLockTime, RBF, etc., but as you may expect, I don't know what to do here, and I don't want to lose my coins if I do something wrong
Personally, I would make sure that RBF is selected, as it allowed you to bump the fee if the transaction gets stuck (and you have enough change leftover in the transaction to increase it)

As for nLockTime, well that is simply a matter of figuring out what nLockTime you want... as per the docs, you either use a value less than 500,000,000 to specify a block height that the transaction should be "locked" until, or a number greater than 500,000,000 is calculated as "Unix Epoch Time" (number of seconds since 1st Jan 1970)...

So if, you put nLockTime = 0 (the default for most wallets)... then the transaction is not locked at all... if you put 495000 it will be "locked" until block# 495000 is mined...


Quote
5) Generated hex - I assume I'll see some gobbledy-gook on my screen after generating "unsigned" transaction, and that will be the generated hex
Correct, as you've ONLY pasted the "address" and not a private key, coinb.in can ONLY create an "unsigned" transaction... when you click the submit button on coinb.in, it'll simply display a textbox with a bunch of hex... like this:
Code:
0100000001bc284061e32979e218b470d8a4676222c5391806cd0dc6a2e582025e880a1616000000006a47304402205dc6f38f650444815f3fca2bb4e6e66c9f9b76d7cf8ee1734d696e98cd3f68740220225d7d31a91344bc4c6ad6f8cfa69fbfd0cb1329391c73076c704b1b3b2cae630121031232d3a27097ca423e3f0b5498416ac30fbad385334ee2306cae2c5de7b6e70effffffff02006a1800000000001976a91449f6714af5764cde99bcab77128971c12ea27f8388ac2c1a0000000000001976a914c439defaa3d4bab40104f42a06faf4d7b404c9ec88ac00000000


Quote
6) Load the generated hex into electrum - How, where, when, why...etc. Don't want to lose my coins if I mess something up the first time I try
7) Verify it, sign it, and broadcast it - How, when, where, why...etc..Don't want to lose my coins if I mess something up the first time I try (when sending a transaction normally, I just press "send" - same here?)
- In Electrum: "Tools -> Load Transaction -> From Text"
- Copy/Paste the "hex" and then click OK
- It will display a typical "preview" window, showing the inputs, outputs, fee used, transaction size (and nLockTime if specified)

By "Verify"... I mean just look at the information Electrum is showing you and double check you have it all correct... check you're using the inputs you want to use and are creating the outputs you want (ie. sending to the correct address(es)

"Sign" and "Broadcast" are easy... just click the "sign" button... enter your wallet password... the only thing that will happen is the "status" should change from "Unsigned" to "Signed" and the size might change by a byte or 2.

At this stage, if you are 100% happy, you click "Broadcast" and the transaction is sent to the network... or you click "close" and the transaction is destroyed and NOT sent.



Quote
8 )  Manually calculate and specify "change" address and payout - oh Lord....not "the catch"!
Pretty simple... if there is going to be any change (and there really shouldn't be if you're wanting to send ALL your coins)... you simply copy a "change" address from your old wallet (could even be one of your input addresses if you don't care about address re-use etc)... Coinb.in simply calculates the "transaction fee" for you... but using the difference between "Total Inputs" and "Total Outputs"... you just need to make sure that you leave enough difference to create a "decent" transaction fee. Remember, miners care about "sats per byte" or "btc per kilobyte" fee RATE... not the total size of the fee!



Honestly, if you're concerned about using this process, I would suggest you practice with some small amounts of BTC first (or maybe try using TestNet? although I'm not sure that coinb.in allows you to create testnet transactions... I couldn't get it to work)

And if you're not comfortable doing that, then you just need to sit on your hands (and your coins) until the "Dummy's guide to B2X" comes out... By doing NOTHING, you will be guaranteed not to lose any coins... at worst, you'll lose some $$$ as the price of the coins dumps Tongue
legendary
Activity: 1652
Merit: 1483
November 07, 2017, 04:52:00 PM
#11
You don't need to really figure out how to do the hex encoding... just create an "unsigned" transaction using coinb.in (https://coinb.in/#newTransaction)... You can even use a downloaded offline copy of Coinb.in if you're super paranoid. After you have copy/pasted in the addresses containing the inputs you want to spend (PROTIP: use the "Coins" tab in Electrum to see where your UTXOs are)... then click the "Advanced Options" and you have the ability to specify the nLockTime, RBF etc... then load the generated hex into Electrum, verify it, sign it and broadcast it... easy Wink

The only catch that I can see, is that you need to manually calculate and specify the "change" address and payout... but that's not exactly difficult Tongue

i appreciate this, thanks.... i'll look into getting an offline copy of Coinb.in to try this myself later, as i was also unable to figure out how to use the locktime feature in electrum from the documentation.

i hate to ask, but when you say "manually calculate" the change address and payout, what do you mean exactly? you just mean we need to manually do the arithmetic (inputs - output - fees = change), right? i guess if we're wrong, the transaction would return invalid anyway...
newbie
Activity: 1
Merit: 0
November 07, 2017, 03:37:33 PM
#10
... I wish I could figure out how to use nLocktime in Electrum via the command line. I have a rough idea of how to construct the transaction, but I'm not comfortable doing the hex encoding myself. Still waiting for some documentation on this. Undecided
You don't need to really figure out how to do the hex encoding... just create an "unsigned" transaction using coinb.in (https://coinb.in/#newTransaction)... You can even use a downloaded offline copy of Coinb.in if you're super paranoid. After you have copy/pasted in the addresses containing the inputs you want to spend (PROTIP: use the "Coins" tab in Electrum to see where your UTXOs are)... then click the "Advanced Options" and you have the ability to specify the nLockTime, RBF etc... then load the generated hex into Electrum, verify it, sign it and broadcast it... easy Wink

The only catch that I can see, is that you need to manually calculate and specify the "change" address and payout... but that's not exactly difficult Tongue

Thanks for the info, and the effort. Unfortunately like most things in life, they are 10 times easier to do the second time you try.

1) Go to https://coinb.in/#newTransaction - this I can manage to do Smiley

2) Copy paste an address I want to spend - can do

3) Click "Advanced options" - Total success

4) I can now see the nLockTime, RBF, etc., but as you may expect, I don't know what to do here, and I don't want to lose my coins if I do something wrong

5) Generated hex - I assume I'll see some gobbledy-gook on my screen after generating "unsigned" transaction, and that will be the generated hex

6) Load the generated hex into electrum - How, where, when, why...etc. Don't want to lose my coins if I mess something up the first time I try

7) Verify it, sign it, and broadcast it - How, when, where, why...etc..Don't want to lose my coins if I mess something up the first time I try (when sending a transaction normally, I just press "send" - same here?)

8 )  Manually calculate and specify "change" address and payout - oh Lord....not "the catch"!


Like, I said the second time I do this should be 10 times easier than the first (if I haven't lost all my coins, of course).




I would also appreciate answers to this question. I am using electrum wallet and want to know what to do exactly after B2X hard fork.

p.s: I have read this: http://docs.electrum.org/en/latest/hardfork.html, but I still am really unsure!!
member
Activity: 138
Merit: 14
November 07, 2017, 12:09:02 PM
#9
... I wish I could figure out how to use nLocktime in Electrum via the command line. I have a rough idea of how to construct the transaction, but I'm not comfortable doing the hex encoding myself. Still waiting for some documentation on this. Undecided
You don't need to really figure out how to do the hex encoding... just create an "unsigned" transaction using coinb.in (https://coinb.in/#newTransaction)... You can even use a downloaded offline copy of Coinb.in if you're super paranoid. After you have copy/pasted in the addresses containing the inputs you want to spend (PROTIP: use the "Coins" tab in Electrum to see where your UTXOs are)... then click the "Advanced Options" and you have the ability to specify the nLockTime, RBF etc... then load the generated hex into Electrum, verify it, sign it and broadcast it... easy Wink

The only catch that I can see, is that you need to manually calculate and specify the "change" address and payout... but that's not exactly difficult Tongue

Thanks for the info, and the effort. Unfortunately like most things in life, they are 10 times easier to do the second time you try.

1) Go to https://coinb.in/#newTransaction - this I can manage to do Smiley

2) Copy paste an address I want to spend - can do

3) Click "Advanced options" - Total success

4) I can now see the nLockTime, RBF, etc., but as you may expect, I don't know what to do here, and I don't want to lose my coins if I do something wrong

5) Generated hex - I assume I'll see some gobbledy-gook on my screen after generating "unsigned" transaction, and that will be the generated hex

6) Load the generated hex into electrum - How, where, when, why...etc. Don't want to lose my coins if I mess something up the first time I try

7) Verify it, sign it, and broadcast it - How, when, where, why...etc..Don't want to lose my coins if I mess something up the first time I try (when sending a transaction normally, I just press "send" - same here?)

8 )  Manually calculate and specify "change" address and payout - oh Lord....not "the catch"!


Like, I said the second time I do this should be 10 times easier than the first (if I haven't lost all my coins, of course).



HCP
legendary
Activity: 2086
Merit: 4361
November 07, 2017, 06:06:55 AM
#8
... I wish I could figure out how to use nLocktime in Electrum via the command line. I have a rough idea of how to construct the transaction, but I'm not comfortable doing the hex encoding myself. Still waiting for some documentation on this. Undecided
You don't need to really figure out how to do the hex encoding... just create an "unsigned" transaction using coinb.in (https://coinb.in/#newTransaction)... You can even use a downloaded offline copy of Coinb.in if you're super paranoid. After you have copy/pasted in the addresses containing the inputs you want to spend (PROTIP: use the "Coins" tab in Electrum to see where your UTXOs are)... then click the "Advanced Options" and you have the ability to specify the nLockTime, RBF etc... then load the generated hex into Electrum, verify it, sign it and broadcast it... easy Wink

The only catch that I can see, is that you need to manually calculate and specify the "change" address and payout... but that's not exactly difficult Tongue
sr. member
Activity: 454
Merit: 251
November 07, 2017, 03:34:19 AM
#7

Yes, but there will be no UI for you to differentiate between BTC and B2X. And trying to spend one of them will result in spending the other unless specific precautions are taken.


So during the bcash fork, the suggestion was to send all coins that were in your Electrum wallet to another wallet under your control (after the fork), then it would be safe to send your old wallets seed to a bcash wallet for bcash coin extraction.

I am guessing that can't be done here for s2x, because if you did, your old pre-fork wallet is now empty of both bitcoin and s2x coins, (as coins have been sent to the new wallet after the s2x fork), the private keys of the old wallet won't contain either bitcoin or s2x coins. As for the coins that were sent to the new wallet (under your control, post-fork), well nothing has changed for these coins, so if you sent them to anyone else other than yourself (in another transaction, eventually), they are still vulnerable to replay and loss of the other chains coins (the coins on the chain you meant to send are still safe as always). Can anyone verify this statement is correct?

Yes, you are correct. Currently there is no way to easily split the coins like with BCH. It's pretty shitty of Jeff Garzik and whoever else is associated with btc1 to avoid optional replay protection. I'll begrudgingly accept the argument that strong replay protection will break wallet compatibility.

But there's no good reason not to add a simple form of optional replay protection (like the 3bit address scheme they had originally merged) unless they simply want to cause maximum chaos and user losses. As it is, people will definitely lose money trying to split their coins.

Electrum should be able to detect the fork because of server disagreement when you attempt to spend, but splitting the forked coins is another matter. I wish I could figure out how to use nLocktime in Electrum via the command line. I have a rough idea of how to construct the transaction, but I'm not comfortable doing the hex encoding myself. Still waiting for some documentation on this. Undecided
legendary
Activity: 2758
Merit: 6830
November 06, 2017, 06:14:36 PM
#6
What is most likely to happens:

- Electrum will not support B2X officially.
- Your address will receive B2X since you own your private key.

But you won't be able to see or spend your B2X manually. For that, you will probably need to export your private keys to a B2X compatible wallet to spend them, and keep using Electrum for the legacy chain. It's the same as Bitcoin Cash, but if we don't get replay protection by the B2X side, your coins may be in risk while you send a transaction.
member
Activity: 138
Merit: 14
November 06, 2017, 05:55:09 PM
#5

Yes, but there will be no UI for you to differentiate between BTC and B2X. And trying to spend one of them will result in spending the other unless specific precautions are taken.


So during the bcash fork, the suggestion was to send all coins that were in your Electrum wallet to another wallet under your control (after the fork), then it would be safe to send your old wallets seed to a bcash wallet for bcash coin extraction.

I am guessing that can't be done here for s2x, because if you did, your old pre-fork wallet is now empty of both bitcoin and s2x coins, (as coins have been sent to the new wallet after the s2x fork), the private keys of the old wallet won't contain either bitcoin or s2x coins. As for the coins that were sent to the new wallet (under your control, post-fork), well nothing has changed for these coins, so if you sent them to anyone else other than yourself (in another transaction, eventually), they are still vulnerable to replay and loss of the other chains coins (the coins on the chain you meant to send are still safe as always). Can anyone verify this statement is correct?
sr. member
Activity: 560
Merit: 261
November 06, 2017, 08:05:02 AM
#4
I have the same question as in OP.
I was considering moving my bitcoin to some Electrum wallet.
sr. member
Activity: 454
Merit: 251
November 06, 2017, 02:45:58 AM
#3
So your answer is YES, if I keep my bitcoins in Electrum, I will automatically get my free B2x?

Yes, but there will be no UI for you to differentiate between BTC and B2X. And trying to spend one of them will result in spending the other unless specific precautions are taken.

I'm hoping that the Chainsplit service that Eric Lombrozo is working on will help us easily split our coins when the time comes, because using nLocktime (another method to split coins) in Electrum is not intuitive. Suffice to say that this is not a simple endeavor, and newbies who are in a hurry to spend their "free B2X" will definitely lose money. Be careful trying to interact with the B2X chain. Your best bet is to avoid making any transactions after the fork, and to wait for some trustworthy guides to emerge on how to safely split your coins.
newbie
Activity: 18
Merit: 0
November 05, 2017, 10:07:26 PM
#2
So your answer is YES, if I keep my bitcoins in Electrum, I will automatically get my free B2x?
newbie
Activity: 18
Merit: 0
November 05, 2017, 07:22:21 PM
#1
If I leave all my bitcoins in Electrum, in around 2 weeks when the B2x fork occurs, will I automatically receive my free B2x in Electrum?

Thanks:)
Jump to: