How to buy bitcoin? Best ways - BitcoinWiki

Cannot create wallet with Trezor

Hi guys, I am stuck trying to create a wallet for my Trezor with Electrum 4.0.4 on Linux:
I get to the point of entering the password twice and then selecting the path. But after that it just says
'Please wait' and then the window hangs. The only way to do something is either kill the process or send a `SIGINT` signal.
Interestingly after sending a SIGINT the window unfreezes and asks me again for the password (also during the whole freeze the Trezor device writes that I should enter my password). After entering the password again I get an empty error window and on closing it everything closes.
I started electrum with `electrum -v` to get some logs:
$ electrum -v I | logging | Electrum version: 4.0.4 - https://electrum.org - https://github.com/spesmilo/electrum I | logging | Python version: 3.8.6 (default, Sep 30 2020, 04:00:38) [GCC 10.2.0]. On platform: Linux-5.8.14-arch1-1-x86_64-with-glibc2.2.5 I | logging | Logging to file: None I | logging | Log filters: verbosity '*', verbosity_shortcuts '' I/p | plugin.Plugins | registering hardware bitbox02: ('hardware', 'bitbox02', 'BitBox02') I/p | plugin.Plugins | registering hardware coldcard: ('hardware', 'coldcard', 'Coldcard Wallet') I/p | plugin.Plugins | registering hardware digitalbitbox: ('hardware', 'digitalbitbox', 'Digital Bitbox wallet') I/p | plugin.Plugins | registering hardware keepkey: ('hardware', 'keepkey', 'KeepKey wallet') I/p | plugin.Plugins | registering hardware ledger: ('hardware', 'ledger', 'Ledger wallet') I/p | plugin.Plugins | registering hardware safe_t: ('hardware', 'safe_t', 'Safe-T mini wallet') I/p | plugin.Plugins | registering hardware trezor: ('hardware', 'trezor', 'Trezor wallet') I/p | plugin.Plugins | registering wallet type ('2fa', 'trustedcoin') D | util.profiler | Plugins.__init__ 0.0044 I/n | network | blockchains [0] I | exchange_rate.FxThread | using exchange CoinGecko D | util.profiler | Daemon.__init__ 0.0023 I/n | network | starting network I | daemon.Daemon | launching GUI: qt I/n | network | setting proxy None I | daemon.Daemon | starting taskgroup. I/n | network | connecting to electrumx.ftp.sh:50002:s as new interface I/n | network | starting taskgroup. I | gui.qt.history_list | could not import electrum.plot. This feature needs matplotlib to be installed. I | gui.qt.ElectrumGui | Qt GUI starting up... Qt=5.15.1, PyQt=5.15.1 I/i | interface.[localhost:50002] | connection established. version: ['ElectrumPersonalServer 0.2.0', '1.4'] D | util.profiler | ElectrumGui.__init__ 0.1374 I/i | interface.[vmd27610.contaboserver.net:50002] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(gaierror(-2, 'Name or service not known'))) I/n | network | couldn't launch iface vmd27610.contaboserver.net:50002:s -- CancelledError() I/i | interface.[electrumx.ftp.sh:50002] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(gaierror(-2, 'Name or service not known'))) I/n | network | couldn't launch iface electrumx.ftp.sh:50002:s -- CancelledError() I/i | interface.[rbx.curalle.ovh:50002] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(gaierror(-2, 'Name or service not known'))) I/i | interface.[2AZZARITA.hopto.org:50006] | connection established. version: ['ElectrumX 1.15.0', '1.4'] I/n | network | couldn't launch iface rbx.curalle.ovh:50002:s -- CancelledError() I/i | interface.[2AZZARITA.hopto.org:50006] | set blockchain with height 653567 I/i | interface.[2AZZARITA.hopto.org:50006] | skipping header 653566 I/n | network | no height for main interface I/n | network | fee_estimates {25: 46526, 10: 48176, 5: 50745, 2: 50750} I/i | interface.[hsmiths4fyqlw5xw.onion:50002] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(gaierror(-2, 'Name or service not known'))) I/n | network | couldn't launch iface hsmiths4fyqlw5xw.onion:50002:s -- CancelledError() I/n | network | switching to 2AZZARITA.hopto.org:50006:s I/i | interface.[electrum3.hodlister.co:50002] | connection established. version: ['ElectrumX 1.10.0', '1.4'] I/n | network | fee_histogram [[99, 100899], [71, 112316], [61, 132563], [59, 156116], [57, 175394], [54, 114050], [51, 219092], [49, 195934], [48, 565137], [47, 781451], [46, 883591], [45, 259824], [44, 450143], [43, 114488], [42, 22100], [41, 49428], [40, 106542], [38, 151315], [33, 547095], [22, 620244], [13, 648588], [9, 822409], [5, 741398], [3, 1799486], [2, 651429]] I/n | network | fee_histogram [[99, 100899], [71, 112316], [61, 132563], [59, 156116], [57, 175394], [54, 114050], [51, 219092], [49, 195934], [48, 565137], [47, 781451], [46, 883591], [45, 259824], [44, 450143], [43, 114488], [42, 22100], [41, 49428], [40, 106542], [38, 151315], [33, 547095], [22, 620244], [13, 648588], [9, 822409], [5, 741398], [3, 1799486], [2, 651429]] I/i | interface.[bitcoin.corgi.party:50002] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(gaierror(-5, 'No address associated with hostname'))) I/n | network | couldn't launch iface bitcoin.corgi.party:50002:s -- CancelledError() I/i | interface.[electrumx-core.1209k.com:50002] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(OSError(101, 'Network is unreachable'))) I/n | network | couldn't launch iface electrumx-core.1209k.com:50002:s -- CancelledError() I/i | interface.[electrum3.hodlister.co:50002] | set blockchain with height 653567 I/i | interface.[electrum3.hodlister.co:50002] | skipping header 653567 I/n | network | fee_estimates {25: 46526, 10: 48176, 5: 50745, 2: 50749} I/i | interface.[hsmiths5mjk6uijs.onion:50002] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(gaierror(-2, 'Name or service not known'))) I/n | network | couldn't launch iface hsmiths5mjk6uijs.onion:50002:s -- CancelledError() I/i | interface.[dxm.no-ip.biz:50002] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(ConnectionRefusedError(111, "Connect call failed ('77.6.34.45', 50002)"))) I/n | network | couldn't launch iface dxm.no-ip.biz:50002:s -- CancelledError() I/i | interface.[electrum2.eff.ro:50002] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(gaierror(-2, 'Name or service not known'))) I/n | network | couldn't launch iface electrum2.eff.ro:50002:s -- CancelledError() I/i | interface.[electrum.hsmiths.com:50002] | disconnecting due to: ConnectError(ConnectionResetError(104, 'Connection reset by peer')) I/n | network | couldn't launch iface electrum.hsmiths.com:50002:s -- CancelledError() I | storage.WalletStorage | wallet path /home/bene/.electrum/wallets/default_wallet I/i | interface.[bitcoin.aranguren.org:50002] | connection established. version: ['ElectrumX 1.15.0', '1.4'] I | storage.WalletStorage | wallet path /home/bene/.electrum/wallets/default_wallet I/i | interface.[bitcoin.aranguren.org:50002] | set blockchain with height 653567 I/i | interface.[bitcoin.aranguren.org:50002] | skipping header 653566 [240/1884] I/n | network | fee_estimates {25: 46526, 10: 48176, 5: 50745, 2: 50749} I/i | interface.[localhost:50002] | set blockchain with height 653567 I/i | interface.[localhost:50002] | skipping header 653567 I/n | network | fee_estimates {25: 46526, 10: 48175, 5: 50745, 2: 50749} I/p | plugin.Plugins | loaded bitbox02 I/p | plugin.Plugins | loaded coldcard I/p | plugin.Plugins | loaded digitalbitbox I/p | plugin.Plugins | loaded keepkey I/p | plugin.Plugins | loaded ledger I/p | plugin.Plugins | loaded safe_t I/p | plugin.Plugins | loaded trezor I | plugin.DeviceMgr | scanning devices... D | util.profiler | DeviceMgr.scan_devices 0.0244 W | gui.qt.installwizard.InstallWizard | error getting device infos for bitbox02: Missing libraries for bitbox02. // Make sure you install it with python3 W | gui.qt.installwizard.InstallWizard | error getting device infos for coldcard: Missing libraries for coldcard. // Make sure you install it with python3 W | gui.qt.installwizard.InstallWizard | error getting device infos for keepkey: Missing libraries for keepkey. // Make sure you install it with python3 W | gui.qt.installwizard.InstallWizard | error getting device infos for ledger: Missing libraries for ledger. // Make sure you install it with python3 W | gui.qt.installwizard.InstallWizard | error getting device infos for safe_t: Missing libraries for safe_t. // Make sure you install it with python3 I | plugins.trezor.qt.Plugin | connecting to device at webusb:001:3 I | plugins.trezor.qt.Plugin | connected to device at webusb:001:3 I | plugin.DeviceMgr | Registering My TREZOF3342BDD7C90C7F9FBA58136 I | plugin.DeviceMgr | scanning devices... D | util.profiler | DeviceMgr.scan_devices 0.0388 I/i | interface.[localhost:50002] | skipping header 653567 qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 4028, resource id: 14687032, major code: 40 (TranslateCoords), minor code: 0 I | plugin.DeviceMgr | scanning devices... D | util.profiler | DeviceMgr.scan_devices 0.0407 
This is the point where the window freezes. Then I precc `Ctrl+C` to send a SIGINT signal and then this is the rest of the logs:
I/n | network | couldn't launch iface technetium.network:50002:s -- TimeoutError() I/n | network | couldn't launch iface e2.keff.org:50002:s -- TimeoutError() I/n | network | couldn't launch iface electrum-server.ninja:50002:s -- TimeoutError() I/n | network | couldn't launch iface xray587.startdedicated.de:50002:s -- TimeoutError() I/n | network | couldn't launch iface electrum.mindspot.org:50002:s -- TimeoutError() I/i | interface.[electrum.leblancnet.us:50002] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(gaierror(-2, 'Name or service not known'))) I/n | network | couldn't launch iface electrum.leblancnet.us:50002:s -- CancelledError() I/i | interface.[ex01.axalgo.com:50002] | succeeded in getting cert I/i | interface.[electrumx.schulzemic.net:50002] | succeeded in getting cert ^CE | gui.qt.installwizard.InstallWizard | Traceback (most recent call last): File "/uslib/python3.8/site-packages/electrum/base_wizard.py", line 446, in on_hw_derivation xpub = self.plugin.get_xpub(device_info.device.id_, derivation, xtype, self) File "/uslib/python3.8/site-packages/electrum/plugins/trezotrezor.py", line 315, in get_xpub xpub = client.get_xpub(derivation, xtype) File "/uslib/python3.8/site-packages/electrum/plugin.py", line 362, in wrapper return run_in_hwd_thread(partial(func, *args, **kwargs)) File "/uslib/python3.8/site-packages/electrum/plugin.py", line 355, in run_in_hwd_thread return fut.result() File "/uslib/python3.8/concurrent/futures/_base.py", line 434, in result self._condition.wait(timeout) File "/uslib/python3.8/threading.py", line 302, in wait waiter.acquire() KeyboardInterrupt I/i | interface.[ex01.axalgo.com:50002] | connection established. version: ['ElectrumX 1.14.0', '1.4'] I/i | interface.[electrumx.schulzemic.net:50002] | connection established. version: ['ElectrumX 1.15.0', '1.4'] I/i | interface.[ex01.axalgo.com:50002] | set blockchain with height 653567 I/i | interface.[ex01.axalgo.com:50002] | skipping header 653567 I/n | network | fee_estimates {25: 46526, 10: 48176, 5: 50745, 2: 50749} I/i | interface.[electrumx.schulzemic.net:50002] | set blockchain with height 653567 I/i | interface.[electrumx.schulzemic.net:50002] | skipping header 653567 I/n | network | fee_estimates {25: 46526, 10: 48176, 5: 50745, 2: 50749} I/n | network | couldn't launch iface dragon085.startdedicated.de:50002:s -- TimeoutError() I/i | interface.[btc.electroncash.dk:60002] | succeeded in getting cert I/i | interface.[mxhwmwa3nt2si4ufszm24whlpkruu74jle27ys2fyjuiifbbrub6thyd.onion:50006] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(gaierror(-2, 'Name or service not known'))) I/n | network | couldn't launch iface mxhwmwa3nt2si4ufszm24whlpkruu74jle27ys2fyjuiifbbrub6thyd.onion:50006:s -- CancelledError() I/i | interface.[electrum2.villocq.com:50002] | disconnecting due to: ErrorGettingSSLCertFromServer(ConnectError(gaierror(-5, 'No address associated with hostname'))) I/n | network | couldn't launch iface electrum2.villocq.com:50002:s -- CancelledError() I/i | interface.[btc.electroncash.dk:60002] | connection established. version: ['ElectrumX 1.15.0', '1.4'] I/i | interface.[btc.electroncash.dk:60002] | set blockchain with height 653567 I/i | interface.[btc.electroncash.dk:60002] | skipping header 653567 I/n | network | fee_estimates {25: 46526, 10: 48176, 5: 50745, 2: 50749} I/i | interface.[btc.electrum.bitbitnet.net:50002] | connection established. version: ['ElectrumX 1.15.0', '1.4'] I/i | interface.[btc.electrum.bitbitnet.net:50002] | set blockchain with height 653567 [169/1884] I/i | interface.[btc.electrum.bitbitnet.net:50002] | skipping header 653567 I/n | network | fee_estimates {25: 46526, 10: 48176, 5: 50745, 2: 50749} I | plugin.DeviceMgr | scanning devices... D | util.profiler | DeviceMgr.scan_devices 0.0394 W | gui.qt.installwizard.InstallWizard | error getting device infos for bitbox02: Missing libraries for bitbox02. // Make sure you install it with python3 W | gui.qt.installwizard.InstallWizard | error getting device infos for coldcard: Missing libraries for coldcard. // Make sure you install it with python3 W | gui.qt.installwizard.InstallWizard | error getting device infos for keepkey: Missing libraries for keepkey. // Make sure you install it with python3 W | gui.qt.installwizard.InstallWizard | error getting device infos for ledger: Missing libraries for ledger. // Make sure you install it with python3 W | gui.qt.installwizard.InstallWizard | error getting device infos for safe_t: Missing libraries for safe_t. // Make sure you install it with python3 I/i | interface.[bitcoin.aranguren.org:50002] | skipping header 653567 E | daemon.Daemon | GUI raised exception: ReRunDialog(). shutting down. I | gui.qt.ElectrumGui | closing GUI I | daemon.Daemon | shutting down network I/n | network | stopping network I/n | network | couldn't launch iface electrum.hodlister.co:50002:s -- CancelledError() I/n | network | couldn't launch iface orannis.com:50002:s -- CancelledError() I/i | interface.[localhost:50002] | disconnecting due to: CancelledError() I/i | interface.[electrumx.schulzemic.net:50002] | disconnecting due to: CancelledError() I/i | interface.[ex01.axalgo.com:50002] | disconnecting due to: CancelledError() I/i | interface.[2AZZARITA.hopto.org:50006] | disconnecting due to: CancelledError() I/i | interface.[btc.electroncash.dk:60002] | disconnecting due to: CancelledError() I/i | interface.[electrum3.hodlister.co:50002] | disconnecting due to: CancelledError() I/i | interface.[btc.electrum.bitbitnet.net:50002] | disconnecting due to: CancelledError() I/i | interface.[bitcoin.aranguren.org:50002] | disconnecting due to: CancelledError() I/n | network | taskgroup stopped. I | daemon.Daemon | stopping taskgroup I | daemon.Daemon | taskgroup stopped. I | daemon.Daemon | removing lockfile I | daemon.Daemon | stopped E | __main__ | daemon.run_gui errored Traceback (most recent call last): File "/uslib/python3.8/site-packages/electrum/gui/qt/installwizard.py", line 118, in func_wrapper run_next(*out) File "/uslib/python3.8/site-packages/electrum/base_wizard.py", line 193, in on_wallet_type self.run(action) File "/uslib/python3.8/site-packages/electrum/base_wizard.py", line 115, in run f(*args, **kwargs) File "/uslib/python3.8/site-packages/electrum/base_wizard.py", line 225, in choose_keystore self.choice_dialog(title=title, message=message, choices=choices, run_next=self.run) File "/uslib/python3.8/site-packages/electrum/gui/qt/installwizard.py", line 106, in func_wrapper out = func(*args, **kwargs) File "/uslib/python3.8/site-packages/electrum/gui/qt/installwizard.py", line 594, in choice_dialog self.exec_layout(vbox, title) File "/uslib/python3.8/site-packages/electrum/gui/qt/installwizard.py", line 429, in exec_layout raise GoBack from None electrum.base_wizard.GoBack The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usbin/electrum", line 380, in  d.run_gui(config, plugins) File "/uslib/python3.8/site-packages/electrum/daemon.py", line 566, in run_gui self.gui_object.main() File "/uslib/python3.8/site-packages/electrum/gui/qt/__init__.py", line 363, in main if not self.start_new_window(path, self.config.get('url'), app_is_starting=True): File "/uslib/python3.8/site-packages/electrum/gui/qt/__init__.py", line 247, in wrapper return func(self, *args, **kwargs) File "/uslib/python3.8/site-packages/electrum/gui/qt/__init__.py", line 271, in start_new_window wallet = self._start_wizard_to_select_or_create_wallet(path) File "/uslib/python3.8/site-packages/electrum/gui/qt/__init__.py", line 313, in _start_wizard_to_select_or_create_wallet wizard.run('new') File "/uslib/python3.8/site-packages/electrum/base_wizard.py", line 115, in run f(*args, **kwargs) File "/uslib/python3.8/site-packages/electrum/base_wizard.py", line 153, in new self.choice_dialog(title=title, message=message, choices=choices, run_next=self.on_wallet_type) File "/uslib/python3.8/site-packages/electrum/gui/qt/installwizard.py", line 131, in func_wrapper raise ReRunDialog() from e electrum.base_wizard.ReRunDialog I/p | plugin.Plugins | stopped 
submitted by bIacktemplar to Electrum [link] [comments]

[PSA] Electrum and Eclair both support Testnet-LN to learn about LN

Update

I rewrote this post to clean it up a bit and add more context.
With the last few drops of Electrum it's been much easier to use LN. I've played around with Electrum-desktop on testnet. Everything worked great, and it is a great way to learn about channel capacity and invoices without having to put real money at risk. Electrum has a "swap" button to adjust capacity but I think it may be broken on testnet presently. There are a few ways to adjust capacity / liquidity that I'll discuss below.

Get Electrum running

  1. Install Electrum 4.0.2 and run it on testnet enabling LN.
  2. Get testnet BTC and send it to Electrum
  3. Open a channel in Electrum with either a known entity, or use their channel suggestion
  4. Wait an hour or so for the channel to open.
  5. Perform a submarine-swap operation to give you a 50/50 capacity
  6. Wait for the swap to complete

Balance capacity

LN channels have a (local) sending capacity and a (remote) receiving capacity. To verify your local/remote capacity click on the channel and view "Details". New channels default to 100%/0% local/remote capacity, meaning you can send, but not receive. There is also some rule that requires you to be below 90% local before you can receive anything. So if you need to receive payments on LN before you spend 10% of your local capacity you will need to find a way to balance local/remote. As mentioned before, the easiest is just to spend (try starblocks), but if you don't have anything to spend on there are some other options

Test Node Visibility

Once you free up some receive capacity, you also need to ensure that your node is reachable. In the default config your node will not be publicly visible. Electrum will handle the last hop for you, but your sender still need to at least be able to route to one of the nodes you have receive capacity on. This may occationally fail causing "Path not found" errots when sending, or when others send to you. In the Electrum preferences there are some options to run local watchtowers and keep the app resident. This will help since your wallet needs to be running for it to receive payments. But even if you enable all options sometimes you will just end up on an isolated node. If this happens, take care to ensure you connect to nodes that are highly connected to others (view 1ml highly connect list).
If you want to test your visibility, just paste an invoice in this thread and hopefully someone can try to send you some tBTC-LN.
submitted by brianddk to Bitcoin [link] [comments]

Beginner guide to Electrum on Testnet-LN allowing you to learn without cost.

Update

I rewrote this post to clean it up a bit and add more context. The original can still be found here
With the last few drops of Electrum it's been much easier to use LN. I've played around with Electrum-desktop on testnet. Everything worked great, and it is a great way to learn about channel capacity and invoices without having to put real money at risk. Electrum has a "swap" button to adjust capacity but I think it may be broken on testnet presently. There are a few ways to adjust capacity / liquidity that I'll discuss below.

Get Electrum running

  1. Install Electrum 4.0.2 and run it on testnet enabling LN.
  2. Get testnet BTC and send it to Electrum
  3. Open a channel in Electrum with either a known entity, or use their channel suggestion
  4. Wait an hour or so for the channel to open.
  5. Perform a submarine-swap operation to give you a 50/50 capacity
  6. Wait for the swap to complete

Balance capacity

LN channels have a (local) sending capacity and a (remote) receiving capacity. To verify your local/remote capacity click on the channel and view "Details". New channels default to 100%/0% local/remote capacity, meaning you can send, but not receive. There is also some rule that requires you to be below 90% local before you can receive anything. So if you need to receive payments on LN before you spend 10% of your local capacity you will need to find a way to balance local/remote. As mentioned before, the easiest is just to spend, but if you don't have anything to spend on there are some other options

Test Node Visibility

Once you free up some receive capacity, you also need to ensure that your node is reachable. In the default config your node will not be publicly visible. Electrum will handle the last hop for you, but your sender still need to at least be able to route to one of the nodes you have receive capacity on. This may occationally fail causing "Path not found" errots when sending, or when others send to you. In the Electrum preferences there are some options to run local watchtowers and keep the app resident. This will help since your wallet needs to be running for it to receive payments. But even if you enable all options sometimes you will just end up on an isolated node. If this happens, take care to ensure you connect to nodes that are highly connected to others.
If you want to test your visibility, just paste an invoice in this thread and hopefully someone can try to send you some tBTC-LN.
submitted by brianddk to brianddk [link] [comments]

PSA: Contrary to popular belief, you *CAN* create "normal" SegWit addresses (p2sh-wrapped-p2wpkh) in Electrum! The ones that start with `3` and are backwards compatible! Learn how inside.

I posted this yesterday, but it didn't get very much attention. This is huge, it makes it almost trivially easy for anybody with a computer to start using SegWit immediately.

Background

There are two main types of SegWit addresses. The "new" type is bech32, which start with bc1. You cannot send to bech32 addresses from older wallets that don't have proper SegWit support, including many exchanges and other Bitcoin-related sites.
The other type, p2sh-wrapped-p2wpkh, uses p2sh, which has been around since 2012, to allow SegWit to be used without sacrificing backwards-compatibility. These addresses start with 3. You can still send to them from older wallets. This is what basically all SegWit wallets except for Electrum use by default, because they still give you most of the benefits of SegWit and always "just work".
The Electrum developers justify using bech32 by default because transactions from bech32 addresses are slightly smaller (more scaling!) and have additional error-checks to protect against mistyping an address compared to p2sh-p2wpkh.
However, there is a way to use p2sh-wrapped-p2wpkh instead of bech32 with Electrum, it's just apparently not very well-known. It's not advertised anywhere in the Electrum documentation.

Guide

When creating a new wallet...
  1. Select "Standard wallet" type
  2. Select "I already have a seed"
  3. Click the "Options" button, and check the "BIP39 Seed" box
  4. Now you need to generate a new seed. There are many sites that you can do this on; a well-trusted one is https://iancoleman.io/bip39
  5. Change the derivation path to m/49'/0'/0' on the next page. This tells Electrum to use BIP49 (p2sh-p2wpkh) instead of the default BIP44 (p2pkh).
  6. Enjoy SegWit!

Video Demonstration

http://sendvid.com/9t4a11ly

How did I find it?

I stumbled upon this GitHub issue, opened by one of the contributors: https://github.com/spesmilo/electrum/issues/3462. It describes using a BIP 49 derivation path for p2sh-p2wpkh. I gave it a spin on testnet, and it works!
submitted by markasoftware to Bitcoin [link] [comments]

Posts everyone interested in cryptocurrency should read

Edit: WIP

Posts

Here are some great posts/articles everyone should read before speculating in cryptocurrency.
Post Date
50 Crypto Trading & Investing Lessons Learned Over The Past 5 Years January 2018
'Be Your Own Bank', A Cautionary Tale December 2017
I lost ~40k USD today. Reminder to keep coins off exchanges if you are not trading. February 2018
How the Bitcoin protocol actually works December 2013
Blockchain and Trust February 2019
Bitcoin: A Peer-to-Peer Electronic Cash System October 2008

Common Advice

Disclaimer Not my advice. Don't sue me.

Not your keys, not your Bitcoin.

This applies to all cryptocurrencies. The ownership of cryptocurrencies can only be determined using cryptography (hence "crypto" in the name). To be able to spend/receive and otherwise control units of a cryptocurrency you must have the corresponding private key. If you are using a cryptocurrency exchange to store your cryptocurrency you do not control the private key(s) corresponding to your coins, the exchange does. To control your private keys you must withdraw your coins to a local wallet stored on your phone/PC. It is highly recommended that you don't use a Windows computer to store your private keys (because Windows is very prone to malware). There are numerous examples of prominent exchanges stealing/losing their customers coins because the exchange had the private key(s) rather than the customer. The most well known such occurrence was Mt. Gox.
Being 'your own bank' (controlling your private keys) also means you are responsible for the safety of your coins. Use a deterministic wallet and write down your seed (on paper, not electronically) so that you do not lose your coins if your wallet is lost/corrupted. Encrypt your wallet so malware cannot easily 'scrape' your private keys. Be careful updating your wallets. Wallet updates are a known and actively exploited attack vector. Wallet updates may also contain bugs.

Do not invest more than you can afford to lose.

Cryptocurrency prices are extremely volatile and losses of 90% are common. The software is under continual development and so may contain bugs. If you chose to speculate, assume you will lose all of your money and so only speculate money you do not need to pay bills or debts.

Past performance does not guarantee future results.

If the price has behaved some way in the past, it does not guarantee it will perform that way again in the future. This is especially true on short timescales.

Don't HODL

A misspelling of the word 'hold'. A meme telling people not to sell. Do not base your financial decisions on memes. Have a rigorous plan of when you will sell and execute it without emotion/hesitation.

This time isn't different.

Past performance does not guarantee future results but past performance is the best indicator of long-term prices. Familiarize yourself with the graphs of the past, learn about how the price is cyclic and then only speculate once you are as familiar with the price history as someone who bought in 2013.
submitted by 4vWte1ovZK1i to u/4vWte1ovZK1i [link] [comments]

A guide to sign a super bitcoin (SBTC) transaction offline with patched Electrum for paranoid. Supports any wallets supported by Electrum (including segwit-p2sh and bech32 and all BIP39 seeds). Later BCD will be added.

This is quite advanced. This guide assumes you have some basic experience with the command line, can run Linux and you understand the basics of keys/signing/broadcasting transactions. And that you can compile and run Bitcoin Core and run Electrum. Also, some JSON experience is also nice.
Move you bitcoins to safe addresses first. It is best to use a new seed. Although the procedure in this guide is safe even for hot addresses (containing bitcoins), there is always a risk of a critical mistake. So play it safe.
Why such a guide? I followed these steps because I did not want to expose the keys to any online machine at all. Even if the keys do not have any bitcoins, you can some day have bitcoins sent to these addresses or you have a fork that you have not claimed. All can be stolen if you exposed your key.
This procedure should work with everything that Electrum supports (except maybe F2A that may be not supported on the SBTC chain), so Electrum seed legacy or segwit, LedgeTrezor with legacy or segiwt-p2sh (m/'49) derivation. Similarly, any BIP39 seeds or a single key. are also fine.
  1. Download Electrum. git clone https://github.com/spesmilo/electrum
  2. Apply my patch patch -P0 also this article. The guide assumes that you use patched Electrum from now on.
  3. Run the patched Electrum and catch up with your wallets you want to claim (the wallets can and rather should be watch only, or on ledgetrezor, otherwise your keys are exposed). Now go offline or set localhost as your server that Electrum connects to so no connection is performed. It's required so Electrum will not update the wallet after you edit it.
  4. You can manually create a transaction from the command line but you can use Electrum GUI. You need to locate the wallet file and remove all the transactions from the wallet file except for the one that funds the address you want to claim (the wallet obviously must not be encrypted but for watch-only this is OK). This is tricky. You need to make sure, you gave a proper JSON file, so all the final commas must be dropped. So "addr_history":, "transactions": , "tx_fees":, "txi", "txo", and "verified_tx3": should only contain the funding transaction(s), i.e. the one that you want to spend from.
  5. Run Electrum and check if the wallet is OK. Electrum will show an error if not. You will probably make a few errors so go back to editing the wallet.
  6. Download SBTC bitcoin core clone. git clone https://github.com/superbitcoin/SuperBitcoin
  7. Compile it and let it sync the blockchain (it will take a long time). Run it it with as large -dbcache= as you can. If you have a Bitcoin blockchain you can copy the blocks up to the fork date and issue sbtcd with -reindex. It will just reindex them and it will be faster.
  8. Generate a sbtc address with sbtc-cli getnewaddress. You can skip this step and send directly to an exchange but this intermediate step is safer.
  9. Create a transaction in Electrum to this address. Select all the bitcoins and use as small fee as possible (SBTC blocks are empty so any fee above 1 SBTCsat/byte should be OK).
  10. Save the transaction to a pendrive
  11. Download and install Kubuntu 16.04 (Kubuntu has all the QT libraries for Electrum) on a pen drive.
  12. Copy patched Electrum and the save the transaction to a pen drive (separate from Kubuntu will be more convenient).
  13. Run Kubuntu from the USB without any network access. Run Electrum from the pendrive. Create a wallet from the seed or private keys. The wallets are stored in RAM so after you reboot the computer, they will be gone. Load the transaction, sign it and save it to the pen drive.
  14. Go back to the SBTC Core on the online machine. Display the raw transaction (starts with the hex=). Check in the SBTC Core if it is correct sbtc-cli decoderawtransaction hex
  15. If it looks fine (and your blockchain got synced), broadcast it sbtc-cli sendrawtransaction hex
If there is no error, congratulations, you sent the transaction to the specified address. If it is to your SBTC Core wallet, wait until it confirms and send it further with sbtc-cli setfee feeperkb sbtc-cli sendtoaddress "addr" value "" "" true true
I'm going to update this guide when I figure out the BCD transactions intrinsics. You can download and run the BitcoinDiamond Core clone in the meantime.
SBTC tips: 1KjuY8CTrwMhdLt3uF3hCcSgfkHMyo1ELf
submitted by PVmining to BitcoinAirdrops [link] [comments]

Electrum security/privacy model?

The Electrum homepage states that Electrum is:
Low trust: Information received from the servers is verified using SPV. Servers are authenticated using SSL [my emphasis]
https://electrum.org/index.html
However, I'm having a hard time finding documentation on how Electrum servers work and more specifically how they implement Simplified Payment Verification (SPV) as defined in Satoshi's white paper.
The Bitcoin Wiki states:
ThomasV claims that "Electrum, it is doing SPV since 2012".
https://en.bitcoin.it/wiki/Thin_Client_Security#Electrum
I found a conversation between Greg Maxwell and Mike Hearn from late 2012. One of the messages included this passage:
I'm concerned about how the particular security model of electrum is being described; or rather— not being described. The electrum website appears to have no security discussion beyond platitudes like "Secure: Your private keys are not shared with the server. You do not have to trust the server with your money.", "No scripts: Electrum does not download any script at runtime. A compromised server cannot compromise your client."
http://sourceforge.net/p/bitcoin/mailman/message/30108843/
Later Mike writes that he was able to contact ThomasV with his concerns, and that progress was made in addressing them.
A late 2013 question posted to Bitcoin StackExchange raises similar questions:
http://bitcoin.stackexchange.com/questions/16629/is-electrums-spv-thin-client-implementation-not-p2p-as-opposed-to-multibits
The answers seemed confusing at best.
I'm pretty clear on how SPV is supposed to work, but so far the documentation I've found suggests that Electrum does not fit the description.
Electrum clients apparently connect to a single trusted server. It's unclear to what extent that server logs traffic, how/if Bloom filters are used to increase privacy, or even how the client proves that transactions coming from the server are in fact in the the block chain.
Can anyone point me to some technical documentation on the Electrum security/privacy model?
I've seen this source repository (not sure it's the right one):
https://github.com/spesmilo/electrum-server
It's sparsely documented, there's no test suite to speak of, and there seems to be far too little code for a full SPV implementation.
Edit: after reading responses so far and digging around some more, it appears that Electrum is doing SPV as indicated in the Wiki. There seem to be two main differences between Electrum and BitcoinJ (another SPV implementation used in MultiBit and other wallets):
  1. Electrum clients connect to a single trusted server chosen by default at random from a list posted to irc. BitcoinJ nodes connect to multiple peers and compare responses to detect withholding attacks.
  2. BitcoinJ nodes use Bloom filters and Electrum does not. This feature is intended to obfuscate the exact transactions being requested by a node so as to avoid leaking the wallet's private public keys/addresses to peers.
Under both systems, the client obtains block headers, using Merkle roots/chains to match received transactions to the containing blocks.
submitted by BobAlison to Bitcoin [link] [comments]

UK Bitcoin users, what is your preferred method of converting Bitcoins into GBP and vice versa.

On a little looking about Britcoin.com seems to be one of the only GBP:BC sites that seems trustworthy,
"My name is Amir Taaki. I have been involved in bitcoin development for the past 8 months and have been one of its few active developers. You can see my posts at the bitcoin forums under the name genjix where I have a solid reputation. I have developed open source software for: this exchange, a bitcoin stock market exchange, a bitcoin client (Spesmilo) and others.
For a list of my current projects please visit Bitcoin Consulancy's wiki page.
Britcoin.co.uk is my decision to provide those living in the UK with a free exchange in order to promote awareness in the UK and allow UK residents to not miss out on the benefits of using bitcoins and being part of this great social change!"
Has anyone here got experience with them or any other UK Bitcoin trader that they can share?
edit: Spelling
submitted by Devlin1991 to Bitcoin [link] [comments]

Garrison's NCLEX Tutoring - YouTube OKLMofficial - YouTube Bitcoin Brief - Electrum Attacked, Lightning in Browser, Litecoin at UFC

use the following search parameters to narrow your results: subreddit:subreddit find submissions in "subreddit" author:username find submissions by "username" site:example.com find submissions from "example.com" A multilingual encyclopedia project on blockchain and cryptocurrency. Find 6000+ articles concerning bitcoin, ethereum, exchange, mining, safety, storage, and ICO. All articles are created collaboratively by anonymous crypto enthusiasts and everyone can become a cryptowiki author . Spesmilo - Python/PySide RPC client (abandoned) ... Cryptoexchangescript.com-Cryptocurrency/bitcoin exchange script software.A complete solution to start your own bitcoin trading or exchange platform instantly.The website provides demo with 100% source code, go to market options and easy setup. Shopping Cart Integration in eCommerce-Systems . Apirone.com - Magento 2, WooCommerce, OpenCart 3.x ... Bitcoin ATMs are machines that are connected to the Internet, which allows putting in cash in exchange for between crypto currencies, the amount of which is given in a paper invoice. At that, they take a transaction fee (about 10%). On average, it makes out 8.89% for a purchase and 6.45% for a sale (as of 19.11.2017). Bitcoin ATMs can be used as an alternative to cryptocurrency exchanges ... Es könnte sein, benötigen Sie einige Zeilen in den bitcoin.conf-Datei auf dem Raspberry Pi. Diese wurde aus der github repo Beispiel des bitcoin.conf-Datei ##### ## Quick Primer auf addnode-vs schließen ## ## Lassen Sie uns sagen zum Beispiel, Sie verwenden addnode=4.2.2.4 ## ## addnode verbinden Sie zu und informieren Sie über die ## ## Knoten verbunden 4.2.2.4.

[index] [42681] [41763] [18586] [28529] [46245] [31064] [23993] [1646] [26768] [25650]

Garrison's NCLEX Tutoring - YouTube

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube. ¿Te gusta este contenido y quieres más formas de ganar, aprender, participar en concursos...?¡Visítanos! ⭐ https://www.funontheride.com ⭐ #Criptonews #FunOnt... For tutoring please call 856.777.0840 I am a registered nurse who helps nursing students pass their NCLEX. I have been a nurse since 1997. I have worked in a lot of nursing fields and I truly love ... This video is unavailable. Watch Queue Queue. Watch Queue Queue If you are new to Crypto, my suggestion is that you start with buying ~$150 worth of Bitcoin, Ethereum, Litecoin @ Coinbase and get familiar with storing it, moving it around, etc.

#