spesmilo/spesmilo-electrum by @spesmilo - Repository ...

1400 Bitcoins stolen after a user installed an old Electrum wallet and then updated to a malicious version.

this is not me, im just sharing news....
I had 1,400 BTC in a wallet that I had not accessed since 2017. I foolishly installed the old version of the electrum wallet. My coins propagated. I attempted to transfer about 1 BTC however was unable to proceed. A pop-up displayed stating I was required to update my security prior to being able to transfer funds.
I installed the update which immediately triggered the transfer of my entire balance to a scammers address.
Source - https://github.com/spesmilo/electrum/issues/5072#issuecomment-683356052
The transaction - https://blockchair.com/bitcoin/transaction/ef600c380a239d9b929c6c964deaf7060e309750950a516cee65576232b0c53c
A recap of the issue by u/_benkaufman - https://twitter.com/_benkaufman/status/1299971319430352897
submitted by atrueretard to Bitcoin [link] [comments]

Can PSBTs with unique signed inputs be combined together? How?

I know Bitcoin Core and Electrum will allow my to joinpsbts to create a PSBT with the inputs and outputs of both. They also allow me to combinepsbt to take two PSBTs with the same inputs and outputs and combine signature data.
But is there a way for me to take two PSBTs with SINGLE|ANYONECANPAY signed inputs and combine the inputs and outputs into one PSBT? The SINGLE|ANYONECANPAY sighash would seem to make this possible, I just didn't see this workflow covered anywhere in BIP-174
If Core or Electrum don't support it, is there a python library that might?

Update #2

Was able to cobble something together off of electrum with some ugly python. Here's essentially what I have:
``` from electrum.transaction import PartialTransaction
def dont_remove_signatures(): pass
signed_psbt = "cHNid...AAAIAA" unsigned_psbt = "cHNid...AAAAAA"
pj = PartialTransaction.from_raw_psbt(signed_psbt) pj.remove_signatures = dont_remove_signatures pj.join_with_other_psbt(PartialTransaction.from_raw_psbt(unsigned_psbt)) print(pj.serialize()) ```

Update #1

Did some digging and both Core and Electrum drop sig-data on join / combine operations by design, though this is not strictly required from the spec.

Spec:

In general, the result of a Combiner combining two PSBTs from independent participants A and B should be functionally equivalent to a result obtained from processing the original PSBT by A and then B in a sequence. Or, for participants performing fA(psbt) and fB(psbt): Combine(fA(psbt), fB(psbt)) == fA(fB(psbt)) == fB(fA(psbt))
source
Or as I interpret that...
Sign(Combine(pbstA, pbstB)) == Combine(Sign(pbstA), Sign(pbstB))
But this is not the case.

Core:

joinpsbts merges multiple distinct PSBTs into a single PSBT. The multiple PSBTs must have different inputs. The resulting PSBT will contain every input and output from all of the PSBTs. Any signatures provided in any of the PSBTs will be dropped*.
source

Electrum:

def join_with_other_psbt(self, other_tx: 'PartialTransaction') -> None: """Adds inputs and outputs from other_tx into this one.""" ... self.remove_signatures()
source
submitted by brianddk to Bitcoin [link] [comments]

Storing your coins safely while not risking loss of keys

This was originally an answer to a question that was asked here, but OP deleted their post.
This might help some newbies (especially the multisig edit at the end), so I want to make sure it's still accessible here.
The original question was whether the Electrum wallet stores a Trezor's private key when using a passphrase.
OP noticed that their Trezor wouldn't connect to their Electrum wallet when entering a different passphrase than they used when creating the wallet. Thus, OP (likely) assumed that the wallet stored the private key, as it somehow knew that a different private key was now used.
Here is my original answer (with some modifications):
IMPORTANT: I'm assuming here that you connected your Trezor by choosing the "hardware wallet" option in Electrum, rather than giving Electrum your 12/24 seed words.
TL;DR: No, your coins are safe :)
I'm assuming by passphrase) you mean the 25th (or 13th) word. When you have this feature enabled, a private key gets generated every time you enter a passphrase. When you enter the same passphrase you used to create the wallet, the wallet with your funds shows up.
Whenever you enter something different, a different private key is generated on your Trezor. This allows you to have multiple different wallets, for example by choosing the passphrases "First Wallet", "Second Wallet", "Third Wallet", or a secret wallet with a secret passphrase.
So whenever you enter a new passphrase when connecting your Trezor to Electrum, the Trezor will send a new public key to Electrum. Electrum will then derive addresses from this public key and check those for balances. It won't find any, as you used a new passphrase.
EDIT: I just realized that you said your wallet doesn't connect to Electrum when you use a different passphrase. This is simply because Electrum doesn't receive the correct public key from the Trezor and therefore Electrum thinks it's a different wallet (which it is).
When you enter the passphrase you used during creation of your wallet, the Trezor will send your actual public key to Electrum, which will then find addresses with balances, which it will show to you. EDIT (to clarify): Connecting your Trezor after creating the wallet is only necessary to send funds or verify addresses, as the public key is already stored in the wallet.dat.
The only thing Electrum actually stores is the public key, which can only be used to look at your Bitcoin, not to move them. You might want to keep this public key a secret as well though, since it links all your funds to you. This is what Electrum stores in the wallet.dat file, which you can just encrypt by choosing a password for it.
Well done using a passphrase by the way! Should someone get their hands on your Trezor, a sophisticated attacker can get the secret key off the device in 15 minutes. Using a passphrase makes this attack almost useless, as the both secret key AND the passphrase are needed to move your funds, and the passphrase is not stored on the device. A passphrase also allows you to hide funds from potential robbers that force you to unlock your wallet.
You can do this by activating the passphrase feature and sending your funds to a wallet with a secret passphrase (do NOT lose this, as losing your passphrase renders your funds inaccessible). Afterwards, you can safely deactivate the passphrase feature, so the device doesn't even ask for one should you get robbed. Simply reactivate it when you need to access your funds.
EDIT: Should you be worried that you might forget your passphrase, you should look into multisig wallets. Depending on how you set this up, you can make it more secure against theft and less likely for you to lose access to your funds.
Say for example you get four wallets: two hardware wallets, a well-protected (airgapped) laptop with Electrum, and a secure mobile wallet that allows for multisig (like Fully Noded).
You can then create a 2-of-4 multisig wallet that requires you to sign transactions with any two of these four wallets.
The increase in security comes from the fact that an attacker now needs full access to two of your devices (or their stored private keys) at once.
At the same time, the fact that you yourself now also need access to only half of your devices means that in the event of a total loss of one (or even two) of them, you can still move your funds to a new wallet.
As long as you do regular checks (e.g. first day of each month), ensuring that you still have access to all your devices' stored private keys, you can always catch a loss of keys and fix this without losing funds (by creating a new multisig wallet and sending the funds there).
This allows you to use a passphrase on your wallets without storing it anywhere physically or digitally. This would usually be very risky, as forgetting the passphrase would lead to a loss of funds, but this risk is now close to eliminated.
(The following part was not in the original answer)
Some IMPORTANT general secruity tips:
  1. Consider including trusted friends and/or family members as co-signers for a multisig wallet. This ensures that it's not even possible for you alone to hand over funds to an attacker. Depending on your level of trust, you might want to make sure that your co-signers can't collaborate to steal your funds (if you include 3 people, create at least a 4-of-n multisig). You could also deliberately make it possible for all or even just some of your co-signers to move your funds (3 co-signers, 3(or less)-of-n multisig) to make sure your funds aren't lost should pass away unexpectedly.
  2. Consider running your own full node and Electrum server (also check the alternatives), which you connect your Electrum wallet to. This ensures that you don't send your public key to anyone else. If someone knows your public key, they know how much BTC you own, making you a potential target.
  3. Always encrypt your wallet.dat (or whatever you called your wallet file), even if it's a watch-only wallet. This protects your public key (see 1. for why you want that).
  4. Create watch-only wallets: Use an airgapped) device to create a wallet with Electrum (make sure to back up the seed phrase) and export the public key. Then create a new watch-only wallet on another device (like your everyday laptop) with that public key to be able to check your funds. To create the initial wallet, you can also use any other hard- or software wallet that allows you to export the master public key.
  5. Hide, or (when using a hardware wallet with a passphrase) even delete your watch-only wallets. Hiding your funds makes you less of a target. When using a hardware wallet, recreating the watch-only wallet is fast and simple, so you don't need to store it if you don't want to check your funds every day. Note that this approach doesn't help much when you don't use a passphrase, as an attacker will obviously check the passphrase-less wallet no matter what.
  6. Keep some funds on your hardware wallet(s). If an attackers sees funds on the wallet(s), they might not force you to enter a passphrase or ask if you have any multisig wallets (lying under pressure is hard).
  7. Hide all your wallets in different places. If someone sees that you have multiple wallets lying around, they might realize you have a multisig wallet.
  8. Don't risk a robber getting (for example) two keys to your 2-of-4 multisig wallet and then racing them to move your funds with the other two keys when they leave. They're gonna come back and be pissed. If it comes to this, you need protection until the robber is caught. STAY SAFE!
  9. The easiest way to solve a problem is to never have it. Don't make yourself a target. If nobody even suspects that you have a multisig (or any wallet at all), they're probably not gonna look for it.
Please correct any mistakes you find and I will edit my post. I will also gladly add more tips to the list. I will of course credit anyone who helps.
Tip for devs who want something cool and important to work on: Make the creation and usage of multisig wallets as noob-friendly as possible. If someone expresses worries about losing access to their funds by forgetting the seed phrase, wallet pin, etc. (someone in my family actually brought this up to me), multisig wallets are the perfect solution as they add redundancy.
submitted by Fittiboy to Bitcoin [link] [comments]

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]

Electrum Wallet hacked. 200 BTC stolen so far (nearly $800,000). Details inside...

The hacker setup a whole bunch of malicious servers.
If someone's Electrum Wallet connected to one of those servers, and tried to send a BTC transaction, they would see an official-looking message telling them to update their Electrum Wallet, along with a scam URL.
The hacker has already stolen 200 BTC (nearly $800,000), at this one address (he has multiple receiving addresses).
UPDATE: The hacker seems to be consolidating his stolen BTC here (243.6 BTC; nearly $1 million):
UPDATE: Now I'm being quoted in news articles.
ADVICE: Ignore any "update" notifications in Electrum. I'm not 100% certain, but if you never downloaded the "update", your wallet & funds should be ok. As for usage, I'd personally avoid using Electrum wallet for a few days, until the devs figure everything out (the vulnerability hasn't been fully plugged yet).
submitted by normal_rc to CryptoCurrency [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]

Electrum Version 4.xx | GOT SCAMMED |

I lost $250!
Still unsure how they pulled it off...
I used 100% the official version of Electrum back in december (last transaction)
Thank god i purposely moved funds back into the wallet i was going to use, instead of using it as a main wallet.

https://imgur.com/a/kHDOjyT
seen on a different thread

this was the message...

Please for the sake of god, use a hardware wallet you guys, it'll be less convenient, but much safer.
I normally browse this subreddit, i wish i seen this :(

upvote to spread awareness
https://prnt.sc/orws8p

1MGeSQ1YYxuQGXFkeXcNbZwZsW2rKuNa8K
this is one of their addresses, showing my $250 along with $22,000 USD more :(

Hello,
We have reviewed the transaction details provided and this transaction does not belong to a BitPay invoice (X).
If you have sent your bitcoin to any address not associated to BitPay or a BitPay merchant, there is nothing that BitPay can do to recover your payment for you.
We noticed that you said you were using Electrum wallet, are you using a version 4.x? If so, we regret to inform you that your funds have likely been stolen.
The official source of the Electrum wallet is https://electrum.org/#download
Per the above website, the Latest release is Electrum-3.3.8.
There has been reports of a phishing attack against the Electrum wallet which you can read more about at https://github.com/spesmilo/electrum/issues/4968.
It looks like this was an attack that gave an update notification from within the app, telling you to upgrade the app. If you followed these instructions, it downloaded a malicious version of the Electrum wallet to your device, and stole your funds.
To follow a recommendation from Electrum's website, you should not download Electrum from another source than electrum.org, and need to learn learn to verify GPG signatures if you are trusting open source software with your money.
You can read more in depth about this exploit at https://blog.coinbase.com/electrohunt-part-1-hunting-for-the-phishing-campaigns-on-the-electrum-network-b10529162e63.
If you have any funds left in that wallet, it is highly recommended to move them to another wallet immediately (do not transfer from the compromised version, use your 12 word seed phrase to import the wallet to another wallet app, then transfer the funds to a new wallet with a different 12 word seed phrase)
Please let us know if you have any questions.
Check out our How To Library on YouTube!
submitted by JeffBezos3 to Bitcoin [link] [comments]

Trezor Troubleshooting Guide

I've noticed some redundancy in some of the issues raised on this subreddit, thought I'd start a generic troubleshooting thread of what I've found useful. I'd appreciate any suggestions mods or other experts might have.

I - Prerequisite

  1. Read the FAQ
  2. Read the Users manual
  3. Read the Developers guide
  4. Search the Wiki
  5. Try the trezor Troubleshooter

II - Trezor connectivity / stuck spinning circle

  1. Try different cable / USB port / computer
  2. Try without crappy Antivirus software.
  3. Manually add the bootloader registry value just to be paranoid.
  4. Install WinUSB driver with Zadig.
  5. Try disabling browser extensions / ad-blockers.
  6. Try Chrome Guest Mode (easiest way to disable extensions)
  7. Try different browser (Chrome / Chromium / Firefox / Brave)
  8. Try WebUSB
  9. Try Android
  10. Try VirtualBox
  11. Try old-wallet.trezor.io
  12. Try beta-wallet.trezor.io
  13. Try beta-wallet.trezor.io/next

III - Updated FW, coins are gone

  1. Try Legacy Account section.
  2. Did you use the right seed?
  3. Did you use the right passphrase?
  4. Did you enter the recover seed words in the order the Trezor asked you to (hint: not first to last)?
  5. Did you verify that your recovery seed words are in the word list?
  6. Did you check all accounts (click add account) for transactions, or check all MEW ETH accounts (next page) as well?
  7. Did you check your transaction history (Legacy and Segwit) to see if anyone moved coins while you were dormant?
  8. Did you regularly do a dry-run recover to verify that you actually possess the recovery seed that the Trezor is operating with?
  9. Check to see if your brother-in-law found your seed and stole your coins.
  10. Check to see if the digital copy of your seed was hacked.

IV - Can't / Don't want to update FW.

  1. Try performing a dry-run to ensure you have the right seed.
  2. Say a prayer and hope you have the right passphrase.
  3. Use an old version of Electrum / MyCrypto / MEW to see if you can find TXN history.
  4. Use an old version of Electrum / MyCrypto / MEW to move most funds.
  5. Use an old version of trezorctl to move the other funds.
  6. Buy a second Trezor and update that.

V - I'm new to this, How should I backup my seed / passphrase.

  1. Make it simple, your kids / kin may be the ones doing the recovery.
  2. Make it secure in a lockbox or safe or something reasonable.
  3. Make it accessible in case there is market volatility.
  4. Make it resilient and redundant in case there is a fire / zombie apocalypse.
  5. Don't make it digital, hackers are smarter than you are.

VI - I forgot my PIN now I can't access my device

  1. Say a prayer and hope you have the right seed.
  2. Say a prayer and hope you have the right passphrase.
  3. Wipe your device then recover with the seed / passphrase to reset PIN.
  4. Don't forget again.

VII - I forgot my seed / passphrase, what now

  1. Nothing, you effectively put physical currency in an incinerator, no getting it back.
  2. Realize that you've learned a valuable lesson that will serve you well in the future.
  3. Advocate to others the importance of following section [V] above.

VIII - I want support for CrappyForkCoin and I want it now!

  1. Figure out what the fork_id is for CrappyForkCoin and write your own coin JSON file.
  2. Use your JSON file to compile your own CrappyForkCoin trezor FW.
  3. Flash your CrappyForkCoin trezor FW to your personal trezor.
  4. Use trezorctl to make CrappyForkCoin transactions.
  5. Read the wiki on how to add coins just to make sure.
submitted by brianddk to TREZOR [link] [comments]

Can DDoS attacks harm your server and how to prevent them?

DDoS (distributed denial-of-service) attack is one of the most common forms of cyber-attacks these days. Their scale already exceeds one terabit per second and over 2000 of such attacks are being observed daily by Arbor Networks. So, should you care? Surely! It’s important to secure your network to stay calm and ensure uninterrupted services to your customers.
Possible Harm
DDoS attacks disturb regular tasks of a targeted computer system by flooding it with bogus traffic from numerous compromised machines. As a simple example, if your e-commerce site is under DDoS attack, your customers are withheld from placing new orders. If it’s a call center, your clients cannot make or receive calls. If it’s a booking engine, your clients are not able to make new reservations. In other terms, your service is being denied. Still, can these service disruptions make a lasting impact on your system and harm your customer base? Let’s try to answer this point by point.
How to avoid DDoS?
As DDoS attacks keep growing in volume and frequency, we should prevent them from making harm to your projects. You should plan ahead to secure your network and minimize the impact of such intrusion. So how to prevent ddos attacks?
Conclusion
Hackers are getting better each day with more and more methods available for finding vulnerable systems on the Internet. Nevertheless, there are now a lot of ways to protect your business and avoid DDoS attacks whatsoever. Do not hesitate to take preventative actions in advance and you will sleep well at night.

Originally posted at https://blog.cherryservers.com/ddos-attacks-and-their-prevention
submitted by diablom1980 to devops [link] [comments]

Electrum compromissed node/server spreading phishing

Something weird happened to me today when I was sending a small amount of bitcoin to another wallet. I am using electrum (and I use electrum and bitcoin for a long time) and when I hit "send" a weird pop up appeared asking me to "update my electrum to the version 3.4" and it's showed a link for a github repo. I'm not the smartest guy in the world but I'm here time enough to see a lot of different scams so what I did was, I went to electrum official site and didn't saw anything there about any update and the current version on the official site is 3.3.3 (the popup asked me to update to 3.4). So come to my mind something about "fake wallet repo on github", somebody posted here and was already discussed, so, I went to the electrum github direct from electrum site, their github was "spesmilo" and the one on the popup was "electrum-wallet", something like this. At this point I knew that something was wrong.

After all this journey I tried to send the transaction again and the same popup appeared (I know, it wasn't smart keep trying to send the transaction after this) and then I remembered about a similar attack on monero (https://www.reddit.com/Monero/comments/8cyi32/getting_error_message_sending_tx_with_new_gui/) and I thought, "maybe the server is compromissed". I opened my electrum server configuration and instead of let the software select a random server I picked up any server, I saved and tried to send the transaction again. Success and the transaction arrived on destination wallet.

Well, let's go to the bad thing, yes, I was an idiot and didn't took screenshot or even saved the server that I was using when the message appeared, it's would be helpfull here, I know, sorry for this but I was kind of scared so my brain didn't worked very well.

I don't know if this is an old attack or not but anyway guys, stay alert.

And sorry for bad english, english is not my first language.


tl;dr: Beware with popup asking to update your electrum when you try to move your coins, some compromised servers are spreadin "phishing".

submitted by JustinB1ber to Bitcoin [link] [comments]

PSA: Contrary to popular belief, Electrum *DOES* support P2SH-P2WPKH SegWit addresses. Yeah, the kind that starts with "3" and is compatible with old wallets! Guide for usage inside.

Background

In this sub, on the #bitcoin IRC channel, and almost everywhere where Bitcoin is discussed, I hear people say that Electrum only supports bech32 SegWit addresses, which start with bc1. You cannot send to these addresses from older wallets and many Bitcoin-related websites, as they are a new format. The other common type of SegWit address, P2SH-wrapped-P2WPKH, starts with a 3. This type is backwards-compatible with older wallets, because it uses P2SH, which has been around since 2012, plenty of time for wallets to integrate support. You can use it virtually anywhere. This is what the Ledger, Trezor, and GreenAddress wallets use. This is how SegWit should be done currently, until support for it is universal.
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.
TL;DR: You can use SegWit backwards-compatibly with Electrum now!

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]

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]

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]

Esperanto´s currency System

Hello Esperantists,
I first heard about Esperanto from dad when I was a kid but only recently been reading and using the lernu platform to learn a couple of basic words and phrases.
While researching about the whole Esperanto movement I found out there has been different attempts of creating an unique global currency for esperanto: Spesmilo, Stelo. Mono. In the past, the feasibility of creating an unique currency for esperantists was difficult to implement and needed the support of Banks and Currency institutions to mint the coins.
However with new Blockchain technology the process can be autonomous and decentralized. I am just wondering if there has been any attempts of creating a community coin for Esperanto using the blockchain? and if anyone would be interested in implementing and distributing such a currency?
As an example and to show you how easy it could be, I created the Esperanto token at Counterparty´s platform (EsperantoXCP). This "coin" is a digital asset created to commemorate the idea of a World´s Unique Currency.
EsperantoXCP can be used as an economic case study. Its digital form and mobile wallet (https://wallet.indiesquare.me/) makes it easy and cheap to transfer funds from one member to another. It could also be used to receive donations and to trade books and items amongst Esperantists.
EsperantoXCP is built on top of Bitcoin´s Blockchain, this gives the coin unique transparency as every transaction is recorded on a public ledger available in block explorers like: http://blockscan.com/assetInfo/ESPERANTO.
All your feedback, comments and questions will be much appreciated, this is just an idea for now, if you know any member of the community or professor that might be interested in developing the Project, please feel free to send me a PM.
P.S: I also created "Stelo" token which I think its a pretty cool name for a currency.
submitted by hcf27 to Esperanto [link] [comments]

Recover ancient Bitcoins from a formatted drive

Hi! Back in around 2011, I THINK I had 3 bitcoins. I used electrum wallet. It was a ubuntu system whether formatted in ext3 or ext4. I didnt see a value back then in bitcoin, so I just formatted my drive at some point without backing them up. The good thing is, that I did not use this computer a lot back then, so I hope I didnt write too much on the new install, and the data is maybe still intact.
The harddisk is at my parents house, who I am going to visit for the holidays now.
The first thing I am going to do is to "dd" the drive to my harddisk, so I have it backed up and can play around a bit.
I already found this file, regarding how electrum could have saved the file back then: https://github.com/spesmilo/electrum/blob/0.61b/lib/wallet.py#L618
I do not know, if my wallet had a password. If it had one, I can most probably guess it; though the main problem will be finding the file.
Do you have some advices how I should continue searching for the file? My guess was to maybe first use "strings" on the .img file that I will make and look for eg. "seed", "fee", "seed-version".
How would you approach this? Thanks for your help!
submitted by roxxor91 to BitcoinWallet [link] [comments]

[Tutorial] install Electrum 2.0 beta with Trezor support for Ubuntu/Mint.

Execute the following commands in a terminal to install python-trezor:
sudo apt-get update sudo apt-get install python-dev python-setuptools cython git libusb-1.0-0-dev libudev-dev git clone https://github.com/trezopython-trezor.git cd python-trezor sudo python setup.py install
Execute the following commands in a terminal to install Electrum 2.0 beta:
cd ~ sudo apt-get install python-pip python-slowaes python-socksipy pyqt4-dev-tools sudo pip install pyasn1 pyasn1-modules pbkdf2 tlslite qrcode git clone https://github.com/spesmilo/electrum cd electrum pyrcc4 icons.qrc -o gui/qt/icons_rc.py python mki18n.py sudo python setup.py install
Plug in your Trezor and choose "Create a new wallet" and "Hardware wallet" click next and choose "Trezor wallet".
Edit: See this post if you encounter "No module named i18n" error.
submitted by ancaplibertard to TREZOR [link] [comments]

[Guide] Python-Trezor on cold offline Raspberry Pi

I am happy to report that the python-trezor command line scripts work successfully on a Piper which is really a Raspberry Pi running Debian wheezy.
This does require you to connect your Piper online initially, so I recommend buying a new 4GB SD card and flashing the piper firmware if you have already used piper to generate cold offline keys. You'll need this for the hexagonal screws and this for the wiring
You can download the latest firmware ISO here and here is how you burn the image
From there I did sudo apt-get update and installed the Trezor dependencies including cython, libusb, python-trezor, cython-hidapi, trezor-common and ran sudo python setup.py build/install as per these 2 guides edit : and pip install trezor as per stickac (I have not yet tried the electrum 2 beta parts of the guides, as I don't require cold offline electrum 2)
https://bitcointalk.org/index.php?topic=122438.msg9262821#msg9262821
http://www.reddit.com/TREZOcomments/2jp9uk/tutorial_install_electrum_20_beta_with_trezo
This still does not install the english wordlist which you will need to do manually.
Edit : Adding BIP39 library should also install english.txt
You might also want to download my hidden passphrase/PIN entry python-trezor fork
Lastly I needed to unplug the USB mouse from my keyboard hub, in order to provide Trezor with adequate power.
Confirm that everything is working
./cmdtr.py list
./helloworld.py
Pull out the Ethernet cable, and never plug it back in (without first wiping the SD card)
Congratulations you can now initialize and restore Trezor - in a fully cold offline environment - and if you wish, provide your own entropy
Expert tips :
Delete your shell history
semi-securely delete files off SD flash
Version 2 :
I have added support for the latest electrum 2.0 beta, trezor support and btchip support
Update to the newest github versions
navigate to /python-trezor and git pull navigate to /python-mnemonic and git pull
Update libraries
sudo apt-get update sudo apt-get upgrade sudo apt-get install -f 
Install dependencies
sudo apt-get install python-qt4 python-dev pyqt-dev-tools python-pip sudo apt-get install python-usb libusb-dev sudo pip install --upgrade pyusb 
Install btchip support
mkdir btchip cd btchip get https://hardwarewallet.com/zip/add_btchip_driver.sh sudo bash add_btchip_driver.sh git clone https://github.com/btchip/btchip-python cd btchip-python sudo python setup.py install 
Tests
cd samples python getFirmwareVersion.py cd ../btchip python btchipPersoWizard.py 
btchipPersoWizard.py should bring up a GUI setup wizard if core.usb is setup properly
cd ../.. git clone https://github.com/btchip/btchip-c-api.git cd btchip-c-api mkdir bin make cd bin ./btchip_getFirmwareVersion 
Install electrum 2.0 Beta
git clone https://github.com/spesmilo/electrum cd electrum sudo python setup.py install pyrcc4 icons.qrc -o gui/qt/icons_rc.py python setup.py sdist --format=zip,gztar electrum 
File > New > Hardware wallet. Both Trezor and btchip work as they do on OSX, apart from the Pi's slow CPU taking ages to generate the HD tree and Sync.
Limitations
At this stage a Pi is too slow to receive btchip's 2fa OTP confirmation code, with the auto-type saturating the text buffer. I'm confident Nicholas can fix this in firmware. Edit: an ipad2 + Apple CCK is too slow to buffer the seed about 1/4 times. Edit 2: an iPhone5/retina iPad mini + Lighning to USB camera cable works with btchip with iOS 8.1 with selected text editors.
You can use btchipPersoWizard.py to restore a BIP39 mnemonic, however btchip's HW1 is unable to support on-device BIP39 seed+passphrase, but this feature might be added to the electrum plugin later.
I don't know if greenaddress CRX will work on piper, there doesn't seem to be an official armhf build available from google, and the latest sudo apt-get install chromium version is v22 whereas Chrome is at v38. (it might be possible to download https://github.com/greenaddress/WalletCrx and pack/drag-drop the extension manually in developer mode)
submitted by Aussiehash to Bitcoin [link] [comments]

Electrum 2.0 has been tagged | Thomas Voegtlin | Mar 01 2015

Thomas Voegtlin on Mar 01 2015:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Dear Bitcoin devs,
I just tagged version 2.0 of Electrum:
https://github.com/spesmilo/electrum/tree/2.0
The electrum.org website will be updated later today. The release
notes are a bit dense, due to the large amount of changes and new
features in this release. In the coming weeks we will be adding more
detailed documentation to the wiki and to the website.
There has been a very long hiatus in Electrum releases, because it
took me a lot of time to decide about the new seed derivation method
and wallet structure. Now that this part is done, I hope that we will
resume to a faster release pace.
I would like to thank all the people who contributed to this release,
developers, beta testers, but also people from this list who provided
useful feedback.
Cheers,
Thomas
RELEASE-NOTES

Release 2.0

paper.
phrase includes a version number, that refers to the wallet
structure. The version number also serves as a checksum, and it
will prevent the import of seeds from incompatible wallets. Old
Electrum seeds are still supported.
and use a gap limit of 20.
P2SH addresses ("2 of 2", "2 of 3").
transactions, that includes the BIP32 master public key and
derivation needed to sign inputs. Serialized transactions can be
sent to cosigners or to cold storage using QR codes (using Andreas
Schildbach's base 43 idea).
"2 of 3" multisig wallets and Google Authenticator. Note that
wallets protected by this service can be deterministically restored
from seed, without Trustedcoin's server.
wallets, to send and receive partially signed transactions.
window that pops up if you click on the QR code
outputs, and raw hexadecimal scripts.
start the daemon if it is not already running, and the GUI will
connect to it. The daemon can serve several clients. It times out
if no client uses if for more than 5 minutes.
keys. A watching-only wallet is created by entering a list of
addresses in the wizard dialog.
wallet files cannot be read by older versions of Electrum. Old
wallet files will be converted to the new format; this operation
may take some time, because public keys will be derived for each
address of your wallet.
the command line:
encrypt
decrypt
stable. Another script was added to Android, called Authenticator,
that works completely offline: it reads an unsigned transaction
shown as QR code, signs it and shows the result as a QR code.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBAgAGBQJU8y7fAAoJECvVgkt/lHDm78oP/2uIqCyOwLsAJGkAI3CPFxtw
WssFJlnCnFiA4tPv5pd7HdOgxQkTaPbUHftexfdd/lpfmFvxZVoHcA/32IIKFH63
BU2bnEyYOaW1A4XfNDQH6VG7eT2er1HOlHCtIgzRl0KJNmVggU6DnXnHkUs1PVvg
pyEIR7Xv3GiK7rcS4qCS/9COroqQGFOXJAiLnOaQP5KszT1bMUdoL7mBPTfavnla
LM+2MgKJOWv+JpHQCDp3XwAXX62LLsS2BjdK1Jt6OpGA6IuVQGBSaTIn5K81S+Yh
M6RDKbP3kObYQ+bzLvtWrzgUD3sdht/V8L5ZPS3+Jibvmhae2zRrm/YpJZ77Yjd4
7QliCFGH0+Gwle72yOempFGWULwq7p6yo4dVZXpj1G3XmbZXuvFg4jYeC/usCx+T
kQgMBPWME2m80fCzhJew1pRChSs/lzVreB0Lh6Tm/5Pibmy721J4oUr6oLkaR9Uy
NMrYqnSy0+tCEOXHrpCYhqogyzzdjOlv0gWKqB2uSkO5TkEHv2eyHeiZttAn11qO
sb85q/k0kYQBZZEvKJ9022eyKHjejDhQjKsCVIHhb81BJ1QYnZFIxBiKkVMxf0u5
sT2TTi18eOrYCUGD2WJ+ALyI1zN1sHO0/sn5+XzlC0jg+1KUXoo0j8NYnzmHb0Yx
5lbdlcaw0Uo7iWkFdMYT
=IGGP
-----END PGP SIGNATURE-----
original: http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-March/007620.html
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

Recover ancient bitcoins

Hi!
Back in around 2011, I THINK I had 3 bitcoins. I used electrum wallet. It was a ubuntu system whether formatted in ext3 or ext4. I didnt see a value back then in bitcoin, so I just formatted my drive at some point without backing them up.
The good thing is, that I did not use this computer a lot back then, so I hope I didnt write too much on the new install, and the data is maybe still intact.
The harddisk is at my parents house, who I am going to visit for the holidays now.
The first thing I am going to do is to "dd" the drive to my harddisk, so I have it backed up and can play around a bit.
I already found this file, regarding how electrum could have saved the file back then: https://github.com/spesmilo/electrum/blob/0.61b/lib/wallet.py#L618
I do not know, if my wallet had a password. If it had one, I can most probably guess it; though the main problem will be finding the file.
Do you have some advices how I should continue searching for the file? My guess was to maybe first use "strings" on the .img file that I will make and look for eg. "seed", "fee", "seed-version".
Also, photorec looks like a good tool, unfortunately it doesnt have electrum wallet in the supported files. Is there a possibility I can add this?
How would you approach this? Thanks for your help!
submitted by roxxor91 to datarecovery [link] [comments]

03-05 15:02 - 'Stealth addresses are still around and are being supported, but not directly by all of the ~half dozen Bitcoin frameworks (e.g., **[link][ *bitcoin* | *libbitcoin* | *btcsuite* | *bitpay* | *bitcoinj* | *spesmilo*] written in...' by /u/greatskaht removed from /r/Bitcoin within 7-12min

'''
Stealth addresses are still around and are being supported, but not directly by all of the ~half dozen Bitcoin frameworks (e.g., *[link]2 [ *bitcoin | libbitcoin | btcsuite | bitpay | bitcoinj | spesmilo] written in various programming languages. Stealth transactions protect the privacy of transaction recipients while mixing protects the privacy of transaction senders. It is worth noting that a Bitcoin stealth payment effectively requires 2 transactions on "the Blockchain" to complete a handshake so the recipient can later spend the stealth transaction funds sent. This requires the recipient's wallet to scan the Blockchain which is computationally time consuming. See [Stealth Address]1 to quickly learn more.
Speaking unofficially on the behalf of the libbitcoin effort, framework support for stealth addresses is still alive in v3.0. It is however, a whole different matter for wallets to utilize frameworks that support stealth transactions.
On the client side, the bitcoin-explorer (bx) command line interface is production ready (but not not for stealth address multisig support) see the image at [link]3 for framework support.
The libbitcoin server v3.0 ([link]4 ) is being refactored by Eric V. has taken shape, and is approaching completion for an official release. This new server indexes all spends, addresses and stealth payments in a in an operating system's memory-mapped file system - is definitely cutting edge work.
'''
Context Link
Go1dfish undelete link
unreddit undelete link
Author: greatskaht
1: mo*ero.*tackexchange*****qu*s*io*s/1500/*hat**s-*-steal*h-add*ess*150*#*506 2: https://github.com/** 3: https://github.com/libbitcoin/libbitcoin-explorewiki/Stealth-Commands 4: https://github.com/libbitcoin/libbitcoin-server
Unknown links are censored to prevent spreading illicit content.
submitted by removalbot to removalbot [link] [comments]

Subreddit Stats: Bitcoin top posts from 2013-03-11 to 2013-04-09 21:12 PDT

Submissions % Comments %
Total 998 56732
Unique Redditors 690 7237
Upvotes 141099 82% 303585 79%
Downvotes 29766 18% 77626 21%

Top Submitters' Top Submissions

  1. 4232 pts, 48 submissions: waspoza
    1. Bitcoin ATM Founder: We Already Have Orders From 30+ Countries (304 pts, 59 comments)
    2. Al Gore at PYMNTS Innovation Project 2013: "I'm a big fan of BitCoin." (298 pts, 194 comments)
    3. Bitcoin rises - Opinion - Al Jazeera English (252 pts, 55 comments)
    4. Bitcoin May Be the Global Economy's Last Safe Haven (211 pts, 65 comments)
    5. Digital 'bitcoin' currency surpasses 20 national currencies in value (184 pts, 43 comments)
    6. Bitcoin's Bottom Billion - Why the Developing World May Be Bitcoin's Biggest Customer (165 pts, 52 comments)
    7. Everything no one wants me to say about Bitcoin | Ben Milne (151 pts, 41 comments)
    8. Bitcoin on Bloomberg (138 pts, 21 comments)
    9. Bitcoins are About to Reinvent Banking in Africa | ICT Works (115 pts, 23 comments)
    10. WALL STREET CURRENCY ANALYST: One Hour Ago, I Had My First Client Ask About Bitcoin (113 pts, 49 comments)
  2. 1731 pts, 8 submissions: Julian702
    1. Cartoon: Control of Bitcoin (1143 pts, 164 comments)
    2. Time to renew Reddit Gold. So freakin easy to pay with Bitcoin. Thanks again Reddit! (114 pts, 7 comments)
    3. First Insurance Company to Accept Bitcoin (109 pts, 12 comments)
    4. Erik Voorhees and American Banker's Marc Hochstein discuss Bitcoin on Brian Lehrer. (91 pts, 19 comments)
    5. Electrum 1.7 released - New features include plugins, multisig transactions, console, and Armory style offline transactions. (82 pts, 44 comments)
    6. We finally have you in our sights! (75 pts, 39 comments)
    7. Bitcoin is near perfect money (60 pts, 34 comments)
    8. BitcoinWay.com - Accept Bitcoin Payments. No payment fees. No transaction fees. No middlemen fees. (57 pts, 13 comments)
  3. 1679 pts, 5 submissions: DanielTaylor
    1. For the love of Bitcoin, Stop mining at BTC Guild! - They'll control the network if they reach +50% (999 pts, 340 comments)
    2. Merchants are the real Bitcoin "stars" an of utmost importance (277 pts, 120 comments)
    3. Now that it's over: The blockchain FORK explained for regular users. ELI5 Style! (212 pts, 95 comments)
    4. Important: Bitcoin users must decide on a new Transaction Fee (145 pts, 200 comments)
    5. If you're selling during a LAG phase, you're falling right into the shark's trap. (46 pts, 22 comments)
  4. 1550 pts, 1 submissions: rbitcoin-bot
    1. I'm /Bitcoin's new AutoModerator bot (1550 pts, 123 comments)
  5. 1533 pts, 1 submissions: tuzki
    1. My wife said this to me today (1533 pts, 318 comments)

Top Commenters

  1. Anenome5 (1793 pts, 497 comments)
  2. bitcointip (1647 pts, 475 comments)
  3. GSpotAssassin (1579 pts, 237 comments)
  4. Amanojack (1532 pts, 299 comments)
  5. Julian702 (1198 pts, 158 comments)
  6. throwaway-o (1146 pts, 341 comments)
  7. hardleft121 (1097 pts, 158 comments)
  8. snakemcgraw (969 pts, 122 comments)
  9. ferroh (925 pts, 190 comments)
  10. w0ss4g3 (918 pts, 134 comments)

Top Submissions

  1. I'm /Bitcoin's new AutoModerator bot by rbitcoin-bot (1550 pts, 123 comments)
  2. My wife said this to me today by tuzki (1533 pts, 318 comments)
  3. Cartoon: Control of Bitcoin by Julian702 (1143 pts, 164 comments)
  4. For the love of Bitcoin, Stop mining at BTC Guild! - They'll control the network if they reach +50% by DanielTaylor (999 pts, 340 comments)
  5. Hey, /Bitcoin, you're Subreddit of the Day! Congrats! by XavierMendel (974 pts, 148 comments)

Top Comments

  1. 305 pts: love_eggs_and_bacon's comment in Today I'm a millionaire
  2. 292 pts: GSpotAssassin's comment in I just got robbed blind of bitcoins - in person. I'm feeling like I've lost trust in the usability of the currency and looking for advice.
  3. 260 pts: DanielTaylor's comment in For the love of Bitcoin, Stop mining at BTC Guild! - They'll control the network if they reach +50%
  4. 237 pts: Splep's comment in ONE HUNDRED DOLLARS! (1/4/13 @ 1506 GMT)
  5. 237 pts: zoechace's comment in Today I'm a millionaire
Generated with BBoe's Subreddit Stats SRS Marker: 1365567156.0
submitted by phloating_man to phloatingman [link] [comments]

Bitcoin Brief - Electrum Attacked, Lightning in Browser, Litecoin at UFC Evolution of electrum-server (Gource Visualization) Hardware Wallet vs Malware. Demo of Electrum Phishing & Clipboard Malware (Trezor, Ledger, Keepkey) How to get ElectrumG quickly. Rabbit Hole Recap: Week of 2020.06.22

Electrum; Bitcoin thin client Bitcoin was not designed to custody your money to a bank, it was designed __against__ doing just that. It is very unfortunate when something like this happens but it's very foolish to have more than 1-2 BTC in one privatekey. This guy should've gone through the painstaking process of putting one BTC, or even less, into 1400 privatekeys and new cold wallets. He's responsible for the creation of the Britcoin and Intersango exchanges, libbitcoin library for bitcoin, Spesmilo, establishing the bitcoin Consultancy, Vibanko, GLBSE client, bitcoin poker ... History of Bitcoin cryptocurrency.Bitcoin is a decentralized cryptocurrency created in 2008 by the pseudonymous Satoshi Nakamoto.This account resumes the whole history of Bitcoin since 2008 to 2017 and 2018.. On 18 August 2008, the domain name bitcoin.org was registered.. Later that year on October 31st, a link to a paper authored by Satoshi Nakamoto titled Bitcoin: A Peer-to-Peer Electronic ... Spesmilo Symbol Proposed by u/randbtcacct I propose ₷ or the "Spesmilo" as the satoshi unit symbol from r/Bitcoin ___ Posted by u/iamziyou. ___ Posted by u/Samsung_Galaxy_S9 Card ___ Einige Reddit-Nutzer waren skeptisch, ob Satoshi überhaupt ein separates Symbol braucht. This is the satoshi symbol, remember satoshi is still bitcoin. from r ...

[index] [22508] [19525] [49041] [40469] [28871] [34967] [50167] [26417] [34310] [36757]

Bitcoin Brief - Electrum Attacked, Lightning in Browser, Litecoin at UFC

This video is unavailable. Watch Queue Queue. Watch Queue Queue Brian Armstrong Live Speach: Coinbase Pro, Bitcoin News, BTC Price Stay Home Coinbase Pro 12,591 watching Live now Bitcoin's Lightning Network, Simply Explained! Richard briefly demonstrates how to download ElectrumG - BTG's in-house developed fork of the original Electrum SPV wallet ( https://github.com/spesmilo/elec... 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. Join Marty and Matt as they discuss: - Waxwing responds to OXTResearch Joinmarket analysis [https://joinmarket.me/blog/blog/the-445-btc-gridchain-case/] - Gl...

#