Electrum Bitcoin Wallet

Bitcoin Wallet

Everything about bitcoin wallets.
[link]

Transferring private keys from Bitcoin-qt to Electrum wallet, but amount is wrong?

So basically I started out with Bitcoin-qt years ago, but it's too cumbersome now with me needing the giant blockchain downloaded.
Anyway, I decided to try Electrum. I read how to extract my private keys from the bitcoin-qt wallet address, and import them into my newly created Electrum wallet.
Bitcoin-qt showed I had 9 receive addresses, and after importing all 9 into Electrum the amount isn't the same. While it's not a gigantic difference, Electrum shows roughly 0.015 BTC less than Bitcoin-qt. When I check all of the address on blockchain.info and add them all up it comes out to what Electrum is showing.
Does anybody know why Bitcoin-qt is showing more (which should be correct from all my previous transactions), and how to get the small remaining amount imported into Electrum without just transferring the balance (thus incurring a fee)?
submitted by cr4zymanz0r to Bitcoin [link] [comments]

Transferring private keys from Bitcoin-qt to Electrum wallet, but amount is wrong? /r/Bitcoin

Transferring private keys from Bitcoin-qt to Electrum wallet, but amount is wrong? /Bitcoin submitted by BitcoinAllBot to BitcoinAll [link] [comments]

Is Bitcoin QT wallet to use? Or is Electrum a better option?

I am a noob on this. Any insights are greatly appreciated.
submitted by bcventure to Bitcoin [link] [comments]

Is Bitcoin QT wallet to use? Or is Electrum a better option? (x-post from /r/Bitcoin)

submitted by ASICmachine to CryptoCurrencyClassic [link] [comments]

Electrum doesnt reconigze my wallet.dat (from bitcoin QT) what to do?

Guys, i downloaded electrum on my laptop and tried to import my old wallet.dat from (bitcoin QT) 2017. But Electrum doesn't recognize the file. Anyone know how to solve this f*cking problem.
Perhaps any other suggestions ?
submitted by Alauwie to Electrum [link] [comments]

12-30 21:33 - 'THAT'S RIDICULOUS!!! YOU DON'T NEED TO RUN AN ELECTRONEUM SERVER TO USE THE CORE WALLET/NODE. AND THE QT CORE IS JUST AS SIMPLE AS ELECTRUM (I THINK EASIER) PLUS IT ALLOWS FOR SO MUCH MORE FLEXIBILITY SHOULD YOU WISH TO...' by /u/Nycmdthroaway removed from /r/Bitcoin within 130-140min

'''
THAT'S RIDICULOUS!!! YOU DON'T NEED TO RUN AN ELECTRONEUM SERVER TO USE THE CORE WALLET/NODE. AND THE QT CORE IS JUST AS SIMPLE AS ELECTRUM (I THINK EASIER) PLUS IT ALLOWS FOR SO MUCH MORE FLEXIBILITY SHOULD YOU WISH TO DELVE INTO THE ADVANCED FEATURES. THE ONLY CAVEAT IS THE TIME TO SYNC AND THE SPACE REQUIRED. BUT IF EVERYONE SAID "FUCK THAT I'M NOT WASTING 250GB AND RUNNING MY WALLET 24/7 TO GET/KEEP IT SYNCED, OR WAITING FOR IT TO RESYNC EVERY TIME I WANT TO SPEND" THEN BITCOIN WOULD HAVE NO DECENTRALIZATION LEFT (WHICH HONESTLY IF YOU LOOK AT THE DECREASE IN NODES RUNNING, YOU'D SEE THAT'S WHAT'S HAPPENING.) ACTUALLY BELIEVE IN BITCOIN? THEN PUT UP OR SHUT UP!
Just run the core node! A.K.A. the full wallet. You don't need to set up an electrum server. That would only be if you wanted to contribute to the electrum network by serving as a public server. But honestly, it's much better to run the core in terms of decentralization anyway.
It requires no technical know-how! Only a couple hundred gigs of hard drive space and a week of letting the blockchain sync (for an average PC that's a few years old). And you can "prune" the node after it finishes syncing so you'll only need ~10GB of space when all's said and done (although you must have at least 250GB free to properly sync). Just download the official qt for whatever flavor of bitcoin/altcoin you need and run the installer.
It's honestly just as easy as electrum- you just need to sync first before you can spend.
Importing the xpriv's from your old electrum wallet is easy...
  1. Open debug window (help>debug window)
  2. Click on the 'command line' tab.
  3. Type `importprivkey ' (no <>).
*To get your xpriv (AKA private keys, out of electrum, right mouse button on all your addresses with funds and select show private key. Do this for each private key, importing one by one and you're done. If the repetition is too much for you. Just send all your coins to a single address first.
*NOTE THAT YOU MAY ALSO CHOOSE TO SIMPLY GENERATE A NEW ADDRESS FROM THE GUI IN THE CORE NODE AND SEND YOUR COINS FROM ELECTRUM TO YOUR NEW NODE. YOU MAY DO THIS AS SOON AS YOU'RE DONE SETTING UP THE CLIENT- HOWEVER YOU WON'T SEE THE TRANSACTION COME THRU UNTIL YOUR NODE SYNCS SO DON'T BE WORRIED ABOUT THAT ASPECT *
It'll take 7 minutes to set up and then you will not only be running securely, able to use any address format you want (including the segwit P2SH keys everyone should use for BTC), your txns and IP aren't logged by a random server, and you're helping maintain a Distributed Blockchain.
Forward the default port 8333 in your router NAT mapping and make yourself connectable to actually make a difference.
You'll probably notice your transactions confirm a tad bit faster during times of congestion as well.
'''
Context Link
Go1dfish undelete link
unreddit undelete link
Author: Nycmdthroaway
submitted by removalbot to removalbot [link] [comments]

Moving from bitcoin-qt wallet to electrum /r/Bitcoin

Moving from bitcoin-qt wallet to electrum /Bitcoin submitted by BitcoinAllBot to BitcoinAll [link] [comments]

Was using bitcoin-qt on OSX, blockchain got corrupted and now it is impossibly big to re-download, what thin clients can I import my wallet.dat into?? OSX 10.7.5. I already tried electrum and looks like I'd have to build it from github, can't figure it out. please help.

Send help! is there a safe way I could download a torrent of the blockchain? i tried to reindex the blockchain (after my harddrive got unplugged while bitcoin-qt was running) and it looks like it would literally take a week of spinning my poor laptop fan balls out.
edit: wallet.dat is encrypted and safely backed up.
submitted by sporabolic to Bitcoin [link] [comments]

I just found a copy of a long-lost wallet.dat file. Is there any way I can move to Electrum without downloading bitcoin-qt and downloading the whole damn blockchain? /r/Bitcoin

I just found a copy of a long-lost wallet.dat file. Is there any way I can move to Electrum without downloading bitcoin-qt and downloading the whole damn blockchain? /Bitcoin submitted by BitcoinAllBot to BitcoinAll [link] [comments]

Power of the Command Line (bitcoin-cli, hwi, electrum, trezorctl)

I think some of the console tools available with HW wallets today are greatly under utilized. Here's a quick write-up on how to create and sign a TXN very similar to 43d27...1fc06 found on the SLIP-14 wallet. I'll be using TrezorCTL, Electrum, and HWI for the signing. I won't go much into the setup or install, but feel free to ask if you have questions about it. Note, you don't have to use all three of these. Any one will produce a valid signed TXN for broadcast. I just showed how to do it three ways. Whats more some of the Electrum and HWI steps are interchangeable.
ColdCard also has a utility called ckcc that will do the sign operation instead of HWI, but in many ways they are interchangeable. KeepKey and Ledger both have libraries for scripted signing but no one-shot, one-line console apps that I know of. But HWI and Electrum of course work on all four.

TrezorCTL

This is the what most would think of to use to craft and sign TXNs, and is definitely very simple. The signing uses a script called build_tx.py to create a JSON file that is then used by the btc sign-tx command. The whole process is basically:
  1. tools/build_tx.py | trezorctl btc sign-tx -
This just means, take the output of build_tx and sign it. To copy 43d27...1fc06, I wrote a small script to feed build_tx, so my process looks like:
  1. ~/input.sh | tools/build_tx.py | trezorctl btc sign-tx -
But it's all very simple. Note... I used TrezorCTL v0.12.2 but build_tx.py version 0.13.0 1.

input.sh

```

!/bin/bash

secho() { sleep 1; echo $*}
secho "Testnet" # coin name secho "tbtc1.trezor.io" # blockbook server and outpoint (below) secho "e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00:0" secho "m/84'/1'/0'/0/0" # prev_out derivation to signing key secho "4294967293" # Sequence for RBF; hex(-3) secho "segwit" # Signature type on prev_out to use secho "" # NACK to progress to outs secho "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3" # out[0].addr secho "10000000" # out[1].amt secho "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu" # out[1].addr secho "20000000" # out[1].amt secho "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x" # out[2].addr secho "99999694" # out[2].amt secho "" # NACK to progress to change secho "" # NACK to skip change secho "2" # txn.version secho "0" # txn.locktime ```

Electrum

Electrum is one of the better GUI wallets available, but it also has a pretty good console interface. Like before you need your Trezor with the SLIP-14 wallet loaded and paired to Electrum. I'll assume Electrum is up and running with the Trezor wallet loaded to make things simple.
Like with TrezorCTL, Electrum feeds on a JSON file, but unlike TrezorCTL it needs that JSON squished into the command line. This is a simple sed command, but I won't bore you with the details, but just assume that's done. So the process in Electrum (v4.0.3) looks like:
  1. electrum serialize (create psbt to sign)
  2. electrum --wallet signtransaction (sign said psbt)
Still pretty simple right! Below is the JSON I smushed for #1

txn.json

{ "inputs": [{ "prevout_hash":"e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00", "prevout_n": 0, "value_sats": 129999867 }], "outputs": [{ "address": "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3", "value_sats": 10000000 },{ "address": "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu", "value_sats": 20000000 },{ "address": "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x", "value_sats": 99999694 }]}

HWI

HWI is an unsung hero in my book. It's a very small clean and simple interface between HW wallets and Bitcoin Core. It currently supports a good range of HW wallets. It keeps itself narrowly focused on TXN signing and offloads most everything else to Bitcoin Core. Again, I'll assume you've imported your Trezor keypool into Core and done the requisite IBD and rescan. And if you don't have the RPC enabled, you can always clone these commands into the QT-console.
To sign our TXN in HWI (v1.1.2), we will first need to craft (and finalize) it in Bitcoin Core (0.21.1). Like in Electrum, we will have to use simple sed to smush some JSON into command arguments, but I'll assume you have that covered. It will take an inputs.json and an outputs.json named separately.
  1. bitcoin-cli createpsbt (create psbt)
  2. bitcoin-cli -rpcwallet= walletprocesspsbt (process psbt)
  3. hwi -f signtx (sign psbt)
  4. bitcoin-cli -rpcwallet= finalizepsbt (get a signed TXN from psbt)
A little more involved, but still nothing too bad. Plus this gives you the full power of Bitcoin Core including integrations with LND (lightning).

inputs.json

[{ "txid": "e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00", "vout": 0 }]

outputs.json

[{ "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3": 0.10000000 },{ "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu": 0.20000000 },{ "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x": 0.99999694 }]

Conclusion

This may all seem like very low level coding, but is surprisingly simple once you get a knack for it. Whats more, all these platforms support testnet which allows you to practice with valueless coins until you get the hang of it. And, like many things in bitcoin, this is all (mostly) python, which is one of the easier languages to learn.
Enjoy
Footnotes
1 - https://github.com/trezotrezor-firmware/issues/1296
submitted by brianddk 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]

Power of the Command Line (bitcoin-cli, hwi, electrum, trezorctl)

I think some of the console tools available with HW wallets today are greatly under utilized. Here's a quick write-up on how to create and sign a TXN very similar to 43d27...1fc06 found on the SLIP-14 wallet. I'll be using TrezorCTL, Electrum, and HWI for the signing. I won't go much into the setup or install, but feel free to ask if you have questions about it. Note, you don't have to use all three of these. Any one will produce a valid signed TXN for broadcast. I just showed how to do it three ways. Whats more some of the Electrum and HWI steps are interchangeable.

TrezorCTL

This is the what most would think of to use to craft and sign TXNs, and is definitely very simple. The signing uses a script called build_tx.py to create a JSON file that is then used by the btc sign-tx command. The whole process is basically:
  1. tools/build_tx.py | trezorctl btc sign-tx -
This just means, take the output of build_tx and sign it. To copy 43d27...1fc06, I wrote a small script to feed build_tx, so my process looks like:
  1. ~/input.sh | tools/build_tx.py | trezorctl btc sign-tx -
But it's all very simple. Note... I used TrezorCTL v0.12.2 but build_tx.py version 0.13.0 1.

input.sh

```

!/bin/bash

secho() { sleep 1; echo $*}
secho "Testnet" # coin name secho "tbtc1.trezor.io" # blockbook server and outpoint (below) secho "e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00:0" secho "m/84'/1'/0'/0/0" # prev_out derivation to signing key secho "4294967293" # Sequence for RBF; hex(-3) secho "segwit" # Signature type on prev_out to use secho "" # NACK to progress to outs secho "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3" # out[0].addr secho "10000000" # out[1].amt secho "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu" # out[1].addr secho "20000000" # out[1].amt secho "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x" # out[2].addr secho "99999694" # out[2].amt secho "" # NACK to progress to change secho "" # NACK to skip change secho "2" # txn.version secho "0" # txn.locktime ```

Electrum

Electrum is one of the better GUI wallets available, but it also has a pretty good console interface. Like before you need your Trezor with the SLIP-14 wallet loaded and paired to Electrum. I'll assume Electrum is up and running with the Trezor wallet loaded to make things simple.
Like with TrezorCTL, Electrum feeds on a JSON file, but unlike TrezorCTL it needs that JSON squished into the command line. This is a simple sed command, but I won't bore you with the details, but just assume that's done. So the process in Electrum (v4.0.3) looks like:
  1. electrum serialize (create psbt to sign)
  2. electrum --wallet signtransaction (sign said psbt)
Still pretty simple right! Below is the JSON I smushed for #1

txn.json

{ "inputs": [{ "prevout_hash":"e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00", "prevout_n": 0, "value_sats": 129999867 }], "outputs": [{ "address": "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3", "value_sats": 10000000 },{ "address": "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu", "value_sats": 20000000 },{ "address": "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x", "value_sats": 99999694 }]}

HWI

HWI is an unsung hero in my book. It's a very small clean and simple interface between HW wallets and Bitcoin Core. It currently supports a good range of HW wallets. It keeps itself narrowly focused on TXN signing and offloads most everything else to Bitcoin Core. Again, I'll assume you've imported your Trezor keypool into Core and done the requisite IBD and rescan. And if you don't have the RPC enabled, you can always clone these commands into the QT-console.
To sign our TXN in HWI (v1.1.2), we will first need to craft (and finalize) it in Bitcoin Core (0.21.1). Like in Electrum, we will have to use simple sed to smush some JSON into command arguments, but I'll assume you have that covered. It will take an inputs.json and an outputs.json named separately.
  1. bitcoin-cli createpsbt (create psbt)
  2. bitcoin-cli -rpcwallet= walletprocesspsbt (process psbt)
  3. hwi -f signtx (sign psbt)
  4. bitcoin-cli -rpcwallet= finalizepsbt (get a signed TXN from psbt)
A little more involved, but still nothing too bad. Plus this gives you the full power of Bitcoin Core including integrations with LND (lightning).

inputs.json

[{ "txid": "e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00", "vout": 0 }]

outputs.json

[{ "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3": 0.10000000 },{ "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu": 0.20000000 },{ "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x": 0.99999694 }]

Conclusion

This may all seem like very low level coding, but is surprisingly simple once you get a knack for it. Whats more, all these platforms support testnet which allows you to practice with valueless coins until you get the hang of it. And, like many things in bitcoin, this is all (mostly) python, which is one of the easier languages to learn.
Enjoy
Footnotes
1 - https://github.com/trezotrezor-firmware/issues/1296
submitted by brianddk to TREZOR [link] [comments]

Syscoin Platform’s Great Reddit Scaling Bake-off Proposal

Syscoin Platform’s Great Reddit Scaling Bake-off Proposal

https://preview.redd.it/rqt2dldyg8e51.jpg?width=1044&format=pjpg&auto=webp&s=777ae9d4fbbb54c3540682b72700fc4ba3de0a44
We are excited to participate and present Syscoin Platform's ideal characteristics and capabilities towards a well-rounded Reddit Community Points solution!
Our scaling solution for Reddit Community Points involves 2-way peg interoperability with Ethereum. This will provide a scalable token layer built specifically for speed and high volumes of simple value transfers at a very low cost, while providing sovereign ownership and onchain finality.
Token transfers scale by taking advantage of a globally sorting mempool that provides for probabilistically secure assumptions of “as good as settled”. The opportunity here for token receivers is to have an app-layer interactivity on the speed/security tradeoff (99.9999% assurance within 10 seconds). We call this Z-DAG, and it achieves high-throughput across a mesh network topology presently composed of about 2,000 geographically dispersed full-nodes. Similar to Bitcoin, however, these nodes are incentivized to run full-nodes for the benefit of network security, through a bonded validator scheme. These nodes do not participate in the consensus of transactions or block validation any differently than other nodes and therefore do not degrade the security model of Bitcoin’s validate first then trust, across every node. Each token transfer settles on-chain. The protocol follows Bitcoin core policies so it has adequate code coverage and protocol hardening to be qualified as production quality software. It shares a significant portion of Bitcoin’s own hashpower through merged-mining.
This platform as a whole can serve token microtransactions, larger settlements, and store-of-value in an ideal fashion, providing probabilistic scalability whilst remaining decentralized according to Bitcoin design. It is accessible to ERC-20 via a permissionless and trust-minimized bridge that works in both directions. The bridge and token platform are currently available on the Syscoin mainnet. This has been gaining recent attention for use by loyalty point programs and stablecoins such as Binance USD.

Solutions

Syscoin Foundation identified a few paths for Reddit to leverage this infrastructure, each with trade-offs. The first provides the most cost-savings and scaling benefits at some sacrifice of token autonomy. The second offers more preservation of autonomy with a more narrow scope of cost savings than the first option, but savings even so. The third introduces more complexity than the previous two yet provides the most overall benefits. We consider the third as most viable as it enables Reddit to benefit even while retaining existing smart contract functionality. We will focus on the third option, and include the first two for good measure.
  1. Distribution, burns and user-to-user transfers of Reddit Points are entirely carried out on the Syscoin network. This full-on approach to utilizing the Syscoin network provides the most scalability and transaction cost benefits of these scenarios. The tradeoff here is distribution and subscription handling likely migrating away from smart contracts into the application layer.
  2. The Reddit Community Points ecosystem can continue to use existing smart contracts as they are used today on the Ethereum mainchain. Users migrate a portion of their tokens to Syscoin, the scaling network, to gain much lower fees, scalability, and a proven base layer, without sacrificing sovereign ownership. They would use Syscoin for user-to-user transfers. Tips redeemable in ten seconds or less, a high-throughput relay network, and onchain settlement at a block target of 60 seconds.
  3. Integration between Matic Network and Syscoin Platform - similar to Syscoin’s current integration with Ethereum - will provide Reddit Community Points with EVM scalability (including the Memberships ERC777 operator) on the Matic side, and performant simple value transfers, robust decentralized security, and sovereign store-of-value on the Syscoin side. It’s “the best of both worlds”. The trade-off is more complex interoperability.

Syscoin + Matic Integration

Matic and Blockchain Foundry Inc, the public company formed by the founders of Syscoin, recently entered a partnership for joint research and business development initiatives. This is ideal for all parties as Matic Network and Syscoin Platform provide complementary utility. Syscoin offers characteristics for sovereign ownership and security based on Bitcoin’s time-tested model, and shares a significant portion of Bitcoin’s own hashpower. Syscoin’s focus is on secure and scalable simple value transfers, trust-minimized interoperability, and opt-in regulatory compliance for tokenized assets rather than scalability for smart contract execution. On the other hand, Matic Network can provide scalable EVM for smart contract execution. Reddit Community Points can benefit from both.
Syscoin + Matic integration is actively being explored by both teams, as it is helpful to Reddit, Ethereum, and the industry as a whole.

Proving Performance & Cost Savings

Our POC focuses on 100,000 on-chain settlements of token transfers on the Syscoin Core blockchain. Transfers and burns perform equally with Syscoin. For POCs related to smart contracts (subscriptions, etc), refer to the Matic Network proposal.
On-chain settlement of 100k transactions was accomplished within roughly twelve minutes, well-exceeding Reddit’s expectation of five days. This was performed using six full-nodes operating on compute-optimized AWS c4.2xlarge instances which were geographically distributed (Virginia, London, Sao Paulo Brazil, Oregon, Singapore, Germany). A higher quantity of settlements could be reached within the same time-frame with more broadcasting nodes involved, or using hosts with more resources for faster execution of the process.
Addresses used: 100,014
The demonstration was executed using this tool. The results can be seen in the following blocks:
612722: https://sys1.bcfn.ca/block/6d47796d043bb4c508d29123e6ae81b051f5e0aaef849f253c8f3a6942a022ce
612723: https://sys1.bcfn.ca/block/8e2077f743461b90f80b4bef502f564933a8e04de97972901f3d65cfadcf1faf
612724: https://sys1.bcfn.ca/block/205436d25b1b499fce44c29567c5c807beaca915b83cc9f3c35b0d76dbb11f6e
612725: https://sys1.bcfn.ca/block/776d1b1a0f90f655a6bbdf559ff5072459cbdc5682d7615ff4b78c00babdc237
612726: https://sys1.bcfn.ca/block/de4df0994253742a1ac8ac9eec8d2a8c8b0a6d72c53d6f3caa29bb6c171b0a6b
612727: https://sys1.bcfn.ca/block/e5e167c52a9decb313fbaadf49a5e34cb490f8084f642a850385476d4ef10d70
612728: https://sys1.bcfn.ca/block/ab64d989edc71890e7b5b8491c20e9a27520dc45a5f7c776d3dae79057f59fe7
612729: https://sys1.bcfn.ca/block/5e8b7ecd0e36f99d07e4ea6e135fc952bf7ec30164ab6f4d1e98b0f2d405df6d
612730: https://sys1.bcfn.ca/block/d395df3d31dde60bbb0bece6bd5b358297da878f0beb96be389e5f0e043580a3
It is important to note that this POC is not focused on Z-DAG. The performance of Z-DAG has been benchmarked within realistic network conditions: Whiteblock’s audit is publicly available. Network latency tests showed an average TPS around 15k with burst capacity up to 61k. Zero-latency control group exhibited ~150k TPS. Mainnet testing of the Z-DAG network is achievable and will require further coordination and additional resources.
Even further optimizations are expected in the upcoming Syscoin Core release which will implement a UTXO model for our token layer bringing further efficiency as well as open the door to additional scaling technology currently under research by our team and academic partners. At present our token layer is account-based, similar to Ethereum. Opt-in compliance structures will also be introduced soon which will offer some positive performance characteristics as well. It makes the most sense to implement these optimizations before performing another benchmark for Z-DAG, especially on the mainnet considering the resources required to stress-test this network.

Cost Savings

Total cost for these 100k transactions: $0.63 USD
See the live fee comparison for savings estimation between transactions on Ethereum and Syscoin. Below is a snapshot at time of writing:
ETH price: $318.55 ETH gas price: 55.00 Gwei ($0.37)
Syscoin price: $0.11
Snapshot of live fee comparison chart
Z-DAG provides a more efficient fee-market. A typical Z-DAG transaction costs 0.0000582 SYS. Tokens can be safely redeemed/re-spent within seconds or allowed to settle on-chain beforehand. The costs should remain about this low for microtransactions.
Syscoin will achieve further reduction of fees and even greater scalability with offchain payment channels for assets, with Z-DAG as a resilience fallback. New payment channel technology is one of the topics under research by the Syscoin development team with our academic partners at TU Delft. In line with the calculation in the Lightning Networks white paper, payment channels using assets with Syscoin Core will bring theoretical capacity for each person on Earth (7.8 billion) to have five on-chain transactions per year, per person, without requiring anyone to enter a fee market (aka “wait for a block”). This exceeds the minimum LN expectation of two transactions per person, per year; one to exist on-chain and one to settle aggregated value.

Tools, Infrastructure & Documentation

Syscoin Bridge

Mainnet Demonstration of Syscoin Bridge with the Basic Attention Token ERC-20
A two-way blockchain interoperability system that uses Simple Payment Verification to enable:
  • Any Standard ERC-20 token to be moved from Ethereum to the Syscoin blockchain as a Syscoin Platform Token (SPT), and back to Ethereum
  • Any SPT to be moved from Syscoin to the Ethereum blockchain as an ERC-20 token, and back to Syscoin

Benefits

  • Permissionless
  • No counterparties involved
  • No trading mechanisms involved
  • No third-party liquidity providers required
  • Cross-chain Fractional Supply - 2-way peg - Token supply maintained globally
  • ERC-20s gain vastly improved transactionality with the Syscoin Token Platform, along with the security of bitcoin-core-compliant PoW.
  • SPTs gain access to all the tooling, applications and capabilities of Ethereum for ERC-20, including smart contracts.
https://preview.redd.it/l8t2m8ldh8e51.png?width=1180&format=png&auto=webp&s=b0a955a0181746dc79aff718bd0bf607d3c3aa23
https://preview.redd.it/26htnxzfh8e51.png?width=1180&format=png&auto=webp&s=d0383d3c2ee836c9f60b57eca35542e9545f741d

Source code

https://github.com/syscoin/?q=sysethereum
Main Subprojects

API

Tools to simplify using Syscoin Bridge as a service with dapps and wallets will be released some time after implementation of Syscoin Core 4.2. These will be based upon the same processes which are automated in the current live Sysethereum Dapp that is functioning with the Syscoin mainnet.

Documentation

Syscoin Bridge & How it Works (description and process flow)
Superblock Validation Battles
HOWTO: Provision the Bridge for your ERC-20
HOWTO: Setup an Agent
Developer & User Diligence

Trade-off

The Syscoin Ethereum Bridge is secured by Agent nodes participating in a decentralized and incentivized model that involves roles of Superblock challengers and submitters. This model is open to participation. The benefits here are trust-minimization, permissionless-ness, and potentially less legal/regulatory red-tape than interop mechanisms that involve liquidity providers and/or trading mechanisms.
The trade-off is that due to the decentralized nature there are cross-chain settlement times of one hour to cross from Ethereum to Syscoin, and three hours to cross from Syscoin to Ethereum. We are exploring ways to reduce this time while maintaining decentralization via zkp. Even so, an “instant bridge” experience could be provided by means of a third-party liquidity mechanism. That option exists but is not required for bridge functionality today. Typically bridges are used with batch value, not with high frequencies of smaller values, and generally it is advantageous to keep some value on both chains for maximum availability of utility. Even so, the cross-chain settlement time is good to mention here.

Cost

Ethereum -> Syscoin: Matic or Ethereum transaction fee for bridge contract interaction, negligible Syscoin transaction fee for minting tokens
Syscoin -> Ethereum: Negligible Syscoin transaction fee for burning tokens, 0.01% transaction fee paid to Bridge Agent in the form of the ERC-20, Matic or Ethereum transaction fee for contract interaction.

Z-DAG

Zero-Confirmation Directed Acyclic Graph is an instant settlement protocol that is used as a complementary system to proof-of-work (PoW) in the confirmation of Syscoin service transactions. In essence, a Z-DAG is simply a directed acyclic graph (DAG) where validating nodes verify the sequential ordering of transactions that are received in their memory pools. Z-DAG is used by the validating nodes across the network to ensure that there is absolute consensus on the ordering of transactions and no balances are overflowed (no double-spends).

Benefits

  • Unique fee-market that is more efficient for microtransaction redemption and settlement
  • Uses decentralized means to enable tokens with value transfer scalability that is comparable or exceeds that of credit card networks
  • Provides high throughput and secure fulfillment even if blocks are full
  • Probabilistic and interactive
  • 99.9999% security assurance within 10 seconds
  • Can serve payment channels as a resilience fallback that is faster and lower-cost than falling-back directly to a blockchain
  • Each Z-DAG transaction also settles onchain through Syscoin Core at 60-second block target using SHA-256 Proof of Work consensus
https://preview.redd.it/pgbx84jih8e51.png?width=1614&format=png&auto=webp&s=5f631d42a33dc698365eb8dd184b6d442def6640

Source code

https://github.com/syscoin/syscoin

API

Syscoin-js provides tooling for all Syscoin Core RPCs including interactivity with Z-DAG.

Documentation

Z-DAG White Paper
Useful read: An in-depth Z-DAG discussion between Syscoin Core developer Jag Sidhu and Brave Software Research Engineer Gonçalo Pestana

Trade-off

Z-DAG enables the ideal speed/security tradeoff to be determined per use-case in the application layer. It minimizes the sacrifice required to accept and redeem fast transfers/payments while providing more-than-ample security for microtransactions. This is supported on the premise that a Reddit user receiving points does need security yet generally doesn’t want nor need to wait for the same level of security as a nation-state settling an international trade debt. In any case, each Z-DAG transaction settles onchain at a block target of 60 seconds.

Syscoin Specs

Syscoin 3.0 White Paper
(4.0 white paper is pending. For improved scalability and less blockchain bloat, some features of v3 no longer exist in current v4: Specifically Marketplace Offers, Aliases, Escrow, Certificates, Pruning, Encrypted Messaging)
  • 16MB block bandwidth per minute assuming segwit witness carrying transactions, and transactions ~200 bytes on average
  • SHA256 merge mined with Bitcoin
  • UTXO asset layer, with base Syscoin layer sharing identical security policies as Bitcoin Core
  • Z-DAG on asset layer, bridge to Ethereum on asset layer
  • On-chain scaling with prospect of enabling enterprise grade reliable trustless payment processing with on/offchain hybrid solution
  • Focus only on Simple Value Transfers. MVP of blockchain consensus footprint is balances and ownership of them. Everything else can reduce data availability in exchange for scale (Ethereum 2.0 model). We leave that to other designs, we focus on transfers.
  • Future integrations of MAST/Taproot to get more complex value transfers without trading off trustlessness or decentralization.
  • Zero-knowledge Proofs are a cryptographic new frontier. We are dabbling here to generalize the concept of bridging and also verify the state of a chain efficiently. We also apply it in our Digital Identity projects at Blockchain Foundry (a publicly traded company which develops Syscoin softwares for clients). We are also looking to integrate privacy preserving payment channels for off-chain payments through zkSNARK hub & spoke design which does not suffer from the HTLC attack vectors evident on LN. Much of the issues plaguing Lightning Network can be resolved using a zkSNARK design whilst also providing the ability to do a multi-asset payment channel system. Currently we found a showstopper attack (American Call Option) on LN if we were to use multiple-assets. This would not exist in a system such as this.

Wallets

Web3 and mobile wallets are under active development by Blockchain Foundry Inc as WebAssembly applications and expected for release not long after mainnet deployment of Syscoin Core 4.2. Both of these will be multi-coin wallets that support Syscoin, SPTs, Ethereum, and ERC-20 tokens. The Web3 wallet will provide functionality similar to Metamask.
Syscoin Platform and tokens are already integrated with Blockbook. Custom hardware wallet support currently exists via ElectrumSys. First-class HW wallet integration through apps such as Ledger Live will exist after 4.2.
Current supported wallets
Syscoin Spark Desktop
Syscoin-Qt

Explorers

Mainnet: https://sys1.bcfn.ca (Blockbook)
Testnet: https://explorer-testnet.blockchainfoundry.co

Thank you for close consideration of our proposal. We look forward to feedback, and to working with the Reddit community to implement an ideal solution using Syscoin Platform!

submitted by sidhujag to ethereum [link] [comments]

Guide for novice crypto investors

Bitcoin is a decentralized system, any user of which could control the movement of their own funds. You can use the currency to make transactions, pay for purchases, receive transfers, and exchange it for cash. For transactions, a special address is used, encrypted with a 16-character key. The buyer decodes the code to transfer bitcoins to the specified address.

Bitcoin Mining

Mining is a process that ensures the security of the BTC system, which adds new blocks to the blockchain in chronological order (new transactions). Blocks are added when the codes are decrypted, the transaction is completed, and bitcoins are transferred or exchanged.
The main cryptocurrency is generated by miners using software that solves cryptographic problems. The reward for a new block is agreed by all network participants, but usually amounts to 12.5 bitcoins. Part of the user fees for transactions also goes to reward the miners. Cryptographic tasks become more complex every year to prevent inflation (mining complexity).

Features of the transaction

  1. Anonymity. The address that Bitcoin is sent to consists of 30 characters. You can track the flow of transactions, but the address is not always associated with a real person.
  2. Security. The balance of bitcoins is fixed in a cryptographic system with a public key. Only the owner of a private key can send cryptocurrency to other addresses.
  3. Unable to cancel. It is no longer possible to cancel the transaction after the transaction has been completed.
  4. Deregulation. Everyone can use cryptocurrency.
  5. Coverage and speed. Information about the transaction is transmitted incredibly quickly, and confirmation is received within a few minutes. No one knows the buyer’s physical location.

Where to buy Bitcoin?

There are Deposit systems that use crypto-exchanges. So, to buy Bitcoin, you will first need to top up your balance, buy the digital currency itself, and then withdraw it to your Bitcoin wallet, paying a Commission for withdrawing coins. The cheapest method of buying is buying on the stock exchange. The exchange rate is as close as possible to the market rate.

BTC rate

The current exchange rate of the coin is calculated based on the average price on the largest currency exchanges. For example, you can track the exchange rate on our Bitniex exchange. The Bitcoin exchange rate is constantly changing, during the day it can change by 10% in one direction or another.

The choice of crypto-currency wallet

A cryptocurrency wallet is a place where digital currency will be stored. The most secure method of storage is using paper or electronic wallets.

TOP secure cryptocurrency wallets

These wallets are one of the most secure crypto wallets in the world:
submitted by Bitniex to Bitniex [link] [comments]

How-to: setup your multisignature Cold wallet in Bitcoin Core 0.20 (highest security setup)

Last release of Core is amazing !
The main new feature is sortedmulti descriptor. This allows you to import your multisig setup in Core almost as if it was Electrum when combine to the new PSBT export in GUI !
As it needs command line and some weird checksum, you also need to input very long command in the console and if you made a mistake, you cannot copy the last command you made. So take your time when the commands are long to check everything and don't miss anything, use copy paste before validating the long command. You only have to do this once fortunately :)
I detail here how you do it with a k of n setup, good luck:
And you are DONE ! You should get the exact same addresses than Electrum and you can created receiving addresses in Qt ! To send money, just go to the send section, use the new coin control feature and export a partially signed transaction. You can use HWI or Electrum to sign it with your hardware wallets !
Notice: You can import more or less than 2000 addresses of each type. If less, blockchain rescan is faster but you may need to redo what we have done here later when all addresses will have been used once. If more, it is the contrary.

You now have the most possibly secure setup in one software: multisig with hardware on the full node wallet. When Bitcoin Core 0.21.0 will be out, we will also have native descriptor wallet so maybe we will have HD version of this. But for now, this is the best you can do ! Enjoy :)

P.S. : if you like doing things in one shot you can do the last two steps in one big command: importmulti '[{"desc": "wsh(sortedmulti(k,[path1]xpub1.../0/*,[path2]xpub2.../0/*,...,[pathn]xpubn/0/*))#check_sum0", "timestamp": birth_timestamp, "range": [0,2000], "watchonly": true, "keypool": true}, {"desc": "wsh(sortedmulti(k,[path1]xpub1.../1/*,[path2]xpub2.../1/*,...,[pathn]xpubn/1/*))#check_sum1", "timestamp": birth_timestamp, "range": [0,2000], "watchonly": true, "internal": true}]'
submitted by Pantamis to Bitcoin [link] [comments]

weird behavior of electrum+bitcoin-qt

past week installed the new plugin that allow me to connect my electrum wallet to bitcoin-core, i use a hardware wallet and worked like a charm.
Then today was updating the node and used bitcoin-qt instead of bitcoind and when was waiting suddendly i see some text in the gui where it says "recent transactions", and a lot of transactions where there.
Then was like WTF happened here, someone stole my btc?, or installed a compromised version of electrum(i use archlinux and install from the repos). Why some transactions where there, i neved imported my wallet to bitcoin-gui.
Inmediately deleted the wallet.dat and did the same in electrum, but my question is:
Was something imported into bitcoin-qt?, all my history was redeable from the gui, i never imported into bitcoin-qt, and as far i know the seed never leave the hardware wallet.
This is normal?, at least all my funds are still there but im really worried.
PS: everything happened with my hardwallet unplugged.
TL:DR: Connected my cold wallet to electrum(connected to bitcoind) past week, never to bitcoin-qt, today opened bitcoin-qt and all my history of transactions from my cold wallet(unplugged) was there(bitcoin-qt), is this normal?.
submitted by relgueta to Bitcoin [link] [comments]

How To Stake/Mine Coinevo

EVO Staking/Evo mining

Evo uses Proof of Stake consensus mechanism, which is different from Bitcoin's PoW (Proof of Work). Evo mining process in PoS system is called staking. The block producer will get 6.5EVO, as well as the transaction fees and gases as block reward. So the real reward is usually more than 6.5 evo in total.
Basic requirements for staking:
  1. Run a Coinevo fullnode, and keep online (Since Coinevo is using PoS, we don't need any mining machine, just PC or even Raspberry Pi can run a fullnode);
  2. Have some EVO in the wallet (fullnode)(Any amount of EVO can be used for staking, more EVO means higher possibility to stake).
If you have no EVO yet, please get some from market before you doing following staking settings.
Currently, Coinevo Core wallet is the only wallet that support Coinevo PoS staking. Note that other wallets like mobile wallet and Evo Electrum are not able to stake for the time being.
Two ways to stake:
Either way works in the same way for staking, so you can choose either method you like.

Method 1:Staking with evod (command line)

1. Run evod

Follow the guidance to run evod :
./evod -daemon 
Staking is default on for evod, so no need for other options if you only want to stake.

2. Send some EVO to your wallet

First you can generate a new address with:
./evo-cli getnewaddress 
This will generate a new address with Prefix '1'. You can send some EVO to this new generated address for staking. You can generate as many addresses as you like, and send arbitrary EVO as you like for staking.
Note:The coin should wait for 500 blocks before being able to stake, i.e. about 17 to 24 hours to MATURE..
After the EVO node syncing to the latest block, you can check current balance with ./evo-cli getbalance or get utxo list with./evo-cli listunspent
Please do following steps after your coin is mature.

3. Check staking info

Check current staking info with:
./evo-cli getstakinginfo 
You might get the result like this:
{ "enabled": true, "staking": true, "errors": "", "currentblocktx": 0, "pooledtx": 0, "difficulty": 3693409.779133397, "search-interval": 1577, "weight": 309584575558555, "netstakeweight": 1948540143266404, "expectedtime": 805 } 
enabled means if your wallet have enabled staking, it should be true by default. staking means if your wallet is currently staking (mining). weight stands for the amount of EVO that is staking right now, with unit 10^-8EVO, here in the example, we have 0.532EVO staking. expectedtime stands for the expected time that you will get a reward, the unit is second.

4. How to stake if the wallet is encrypted?

If your wallet is not encrypted, you can skip this section. However, for security, we recommand you encrypt your wallet.
Coinevo wallet can be encrypted with encryptwallet . However, staking will be stopped when it is encrypted. For example, ./evo-cli getstakinginfo for a encrypted wallet:
{ "enabled": true, "staking": false, "errors": "", "currentblocksize": 1000, "currentblocktx": 0, "pooledtx": 94, "difficulty": 5788429.670171153, "search-interval": 0, "weight": 53206430, "netstakeweight": 2438496688951881, "expectedtime": 0 } 
See staking turns to false , which means wallet is not staking.
You can use walletpassphrase to unlock wallet for staking:
./evo-cli walletpassphrase "" 99999999 true 
After unlocking, you can double check getstakinginfo , it should look the same with previous unlocked result, staking become true.

Method 2: Staking with evo-qt wallet (official PC wallet)

Current supported platform: Mac/Linux/Windows.

1. Open Evo qt wallet

Launch the wallet.

2. Send some EVO to your wallet

If you already have some EVO in your wallet, you might skip this step.
Note:The coin should wait for 500 blocks before being able to stake, i.e. about 17 to 24 hours to MATURE..

3. Check staking status

The flash sign at the bottom of wallet shows staking info :
Solid black flash means it is staking now. For more information, you can put your mouse on the flash, e.g.:
Hollow flash measn it is not staking
Possible reasons for not staking:
No flash sign means staking is disabled

About block reward

The block producer will get more than 6.5 EVO rewards, something to keep in mind:

How to disable staking?

Staking is by default enabled for Coinevo wallet. If you need to disable staking for some reason (for example exchanges are always recommanded to disable staking), you might following anyone of the 3 ways below:
1 Add -staking=false when running Coinevo node:
./evod -staking=false -daemon 
For qt wallet, it is like:
./evo-qt -staking=false 
2 Add config staking=false in evo.conf;
3 Encrypt wallet, since encrypted wallet will automatically stop staking.
submitted by coinevo to u/coinevo [link] [comments]

weird behavior of electrum

past week installed the new plugin that allow me to connect my electrum wallet to bitcoin-core, i use a hardware wallet and worked like a charm.
Then today was updating the node and used bitcoin-qt instead of bitcoind and when was waiting suddendly i see some text in the gui where it says "recent transactions", and a lot of transactions where there.
Then was like WTF happened here, someone stole my btc?, or installed a compromised version of electrum(i use archlinux and install from the repos). Why some transactions where there, i neved imported my wallet to bitcoin-gui.
Inmediately deleted the wallet.dat and did the same in electrum, but my question is:
Was something imported into bitcoin-qt?, all my history was redeable from the gui, i never imported into bitcoin-qt, and as far i know the seed never leave the hardware wallet.
This is normal?, at least all my funds are still there but im really worried.
PS: everything happened with my hardwallet unplugged.
TL:DR: Connected my cold wallet to electrum(connected to bitcoind) past week, never to bitcoin-qt, today opened bitcoin-qt and all my history of transactions from my cold wallet was there(bitcoin-qt), is this normal?.
submitted by relgueta to Electrum [link] [comments]

There is no "best" hardware wallet.

My first hardware wallet was a spare computer that never connected to a network and I used it to sign transactions with bitcoind by printing the txid's on paper. That was the "best" hardware wallet.
Then my spare laptop that never connected to a network and ran bitcoin-qt to was the "best" hardware wallet. Then that laptop was upgraded to Electrum (edited: typed "Ethereum" in original post).
Then I moved to the first-generation Trezor. And now I have a Ledger Nano S. Eventually I will move to something else that hasn't even been released yet.
Bottom line: There is no "best" hardware wallet. There are only wallets that are the "best" for the person using them at that specific time.
submitted by HappyDadOfFourJesus to Bitcoin [link] [comments]

Connecting bitcoin-qt to bitcoind on local network

Hello,
I have a bitcoin node running on a headless box (bitcoind) and I would like to connect to it using bitcoin-qt on my desktop. I'm getting a little confused with the process.... does bitcoin-qt need to connect to bitcoind using RPC? Do I store my wallet file on the bitcoind box, or bitcoin-qt box?
The bitcoin node is already setup to work with an electrum server, so I already have rpcbind=0.0.0.0, rpcallowip=$ELECTRUX_IP, and rpcuserpcpassword set. I tried adding my desktop IP to rpcallowip, and setting the appropriate username/password in bitcoin-qt's bitcoin.conf, but no luck. I can see in debug.log for bitcoin-qt that the connection is rejected.

The node runs over TOR and I have onlynet=onion set in bitcoind's bitcoin.conf, but that doesn't seem to stop electrumx connecting via RPC over clearnet, so this shouldn't be an issue right?

Am I missing something here? Help would be much appreciated!
submitted by backfromBTCpast to Bitcoin [link] [comments]

HELP! OverflowError: timestamp out of range for platform time_t

Hi,
I am guessing this means Electrum Wallet is set to a particular time zone, which is not allowing me to send bitcoin. As I tried to send to the exchange and found this error popped up. This is my first time using the wallet and I have no idea how to change the time to sync.
Anyone have an idea what I can do to change it(thats is it is the time issue) so I can send to exchange.
Thanks
Traceback
Traceback (most recent call last): File "/home/dotbin/electrum/electrum/gui/qt/main_window.py", line 1542, in do_pay self.do_pay_invoice(invoice) File "/home/dotbin/electrum/electrum/gui/qt/main_window.py", line 1555, in do_pay_invoice self.pay_onchain_dialog(self.get_coins(), outputs) File "/home/dotbin/electrum/electrum/gui/qt/main_window.py", line 1591, in pay_onchain_dialog external_keypairs=external_keypairs) File "/home/dotbin/electrum/electrum/gui/qt/main_window.py", line 1617, in preview_tx_dialog window=self) File "/home/dotbin/electrum/electrum/gui/qt/transaction_dialog.py", line 690, in __init__ finalized=False, external_keypairs=external_keypairs) File "/home/dotbin/electrum/electrum/gui/qt/transaction_dialog.py", line 126, in __init__ self.add_tx_stats(vbox) File "/home/dotbin/electrum/electrum/gui/qt/transaction_dialog.py", line 634, in add_tx_stats self.locktime_e = LockTimeEdit() File "/home/dotbin/electrum/electrum/gui/qt/locktimeedit.py", line 32, in __init__ self.locktime_date_e = LockTimeDateEdit() File "/home/dotbin/electrum/electrum/gui/qt/locktimeedit.py", line 155, in __init__ self.setMaximumDateTime(datetime.fromtimestamp(self.max_allowed_value)) OverflowError: timestamp out of range for platform time_t
Additional information
submitted by unusual_characters to Electrum [link] [comments]

How to find/view derivation path in Bitcoin Core

I have found many default path online which is used in bitcoin core, but i still can't get the correct one so that i can import my bitcoin wallet to my electrum wallet (BIP 39 option) with 18 words seed which i had got from bitsblock.io while initial download. I wanted to know exactly how can we find the derivation path in Qt GUI, as i had found a command online wallet.keystore.derivation but it didn't work
submitted by bitsnewbie to Bitcoin [link] [comments]

How to Upgrade the Electrum Bitcoin Wallet to Version 3 How to sweep private keys - Using the Electrum Bitcoin wallet Introduction to Bitcoin: How to send and receive Bitcoin ... Sicheres Bitcoin Wallet erstellen - Schritt-für-Schritt ... How to Setup a Bitcoin Wallet with Electrum - YouTube

Send coins in a bitcoin transfer from wallet to wallet. This is the only sensible way to do it; the main advantage of something like Electrum is the deterministic wallet, which you don't have for imported private keys. But even apart from that, in general, importing private keys rather than sending the coins is almost always the wrong decision. The Bitcoin electrum wallet software holds cryptographic key-pair and this key pair is what allows one to access a Bitcoin address on the blockchain. The key pair is a combination of public and private keys. Public key is the receiving address which you can share it with others to receive Bitcoins. Whereas Private key is confidential and this is what allows one to spend Bitcoins associated ... Electrum Bitcoin Wallet. Impressum This website is hosted by Electrum Technologies GmbH Electrum Technologies was founded by Thomas Voegtlin in 2013. Its mission is to develop, package and distribute Electrum software, and to provide services to Bitcoin users and businesses. Electrum Electrum ist auf Geschwindigkeit und Einfachheit fokussiert und benötigt wenig Ressourcen. Es nutzt entfernte Server, die den komplizierten Teil des Bitcoin-Systems übernehmen und ermöglicht es, mit einer geheimen Phrase wieder Zugriff auf eine Wallet zu bekommen. Features: 2FA × 2FA: Die Zwei-Faktor-Authentifizierung (2FA) ist ein zusätzlicher Schutz für Ihre Wallet. Der erste ... Electrum - Bitcoin Wallet 4.0.2 Englisch: Mit dem kostelosen Tool Electrum erhalten Sie eine Bitcoin Wallet für den PC.

[index] [8082] [44347] [40745] [3964] [42775] [2591] [13486] [30358] [43389] [30535]

How to Upgrade the Electrum Bitcoin Wallet to Version 3

how to install electrum bitcoin wallet - Duration: 9:55. Akshay Daga 1,995 views. 9:55. How to configure a Shared Network Printer in Windows 7, 8, or 10 - Duration: 45:12. ... The Crypto Dad shows you how to upgrade the Electrum Bitcoin wallet from version 2.9.3 to version 3.0.1. I walk you through download and verification and then I show you how to open up you ... Expand Description for more information! ♦ In today's video I walk through the process of setting up a Bitcoin software wallet using Electrum. Software Wal... The bitcoin blockchain officially forked on August 1, 2017. If you owned Legacy Bitcoin at that time, you picked up some Bitcoin Cash tokens as well! Here's ... Kostenloses & Sicheres Bitcoin Wallet - Electrum - https://electrum.org/ 🐃 Bitcoin & Co. einfach kaufen (inkl. 10€ Bonus) https://talerbox.com/go/bison/?ut...

#