- Install Virtual Box (https://www.virtualbox.org)
- Install Oracle VM VirtualBox Extension Pack (https://www.virtualbox.org)
- Install Vagrant
mkdir osxvm
cd osxvm
vagrant init jhcook/osx-elcapitan-10.11
| # Script to extract seed and xprv from old "v14" wallet file using modern Electrum (tested with 4.3.2). | |
| # You can use this script if you are getting the following error when opening your wallet: | |
| # WalletFileException("Your wallet has an unsupported seed version: 14.\n\nTo open this wallet, try 'git checkout seed_v14'") | |
| import json | |
| import electrum | |
| from electrum.storage import WalletStorage | |
| from electrum.keystore import BIP32_KeyStore |
mkdir osxvm
cd osxvm
vagrant init jhcook/osx-elcapitan-10.11
| GPG key | |
| 0x3DF911DC | |
| 0xCA9EEEC43DF911DC | |
| 0EEDCFD5CAFB459067349B23CA9EEEC43DF911DC | |
| 0EED CFD5 CAFB 4590 6734 9B23 CA9E EEC4 3DF9 11DC | |
| -----BEGIN PGP PUBLIC KEY BLOCK----- | |
| mQINBGDI71QBEACpSQg2/ZronvXY/Jhe9N2vfasExcVGEfBX0P6IqUGy/WTERmxr |
| diff --git a/electrum/gui/qt/__init__.py b/electrum/gui/qt/__init__.py | |
| index 00eb5d34ee..31f9dd06c5 100644 | |
| --- a/electrum/gui/qt/__init__.py | |
| +++ b/electrum/gui/qt/__init__.py | |
| @@ -122,16 +122,19 @@ class ElectrumGui(Logger): | |
| self.network_updated_signal_obj = QNetworkUpdatedSignalObject() | |
| self._num_wizards_in_progress = 0 | |
| self._num_wizards_lock = threading.Lock() | |
| - # init tray | |
| self.dark_icon = self.config.get("dark_icon", False) |
| from electrum.bip32 import BIP32Node | |
| bip32_seed = bytes.fromhex('deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef') | |
| rootnode = BIP32Node.from_rootseed(bip32_seed, xtype="p2wpkh") | |
| node = rootnode.subkey_at_private_derivation("m/84h/0h/0h") | |
| node.to_xprv() |
| $ bitcoin-cli -rpcuser=doggman -rpcpassword=donkey -rpcport=18554 -regtest createwallet "ms2of3" true | |
| $ bitcoin-cli -rpcuser=doggman -rpcpassword=donkey -rpcport=18554 -regtest getdescriptorinfo "wsh(sortedmulti(2,[b2768d2f/48h/1h/0h/2h]tpubDFBRbXNvA84hPkZ82k5wDucCFMcS9RFX7mnehuth8dvGGZCFM8omREtmj4oUhdmByjveSW4QVzkzD4B7c5yA62AenXKoDDFVE69gEqh9bo4/0/*,[045c5f3c/48h/1h/0h/2h]tpubDE9MoZJU8Rr3woj9jBbuNmuoECyEkhsMXVSeA2vZh9epJfEae4SJjCjqsHM9NDbY29yS3bhchAiJEsSncBLXfnpu7utfbzigkeKW4XYWPyZ/0/*,[0c0c27cb/48h/1h/0h/2h]tpubDFTGo9mYUAbM55vfcU6P6b5ZtALzbhgzBVCeaxzgwAEjFBaZrMFCXgK1jubSrBUXoz7mdd1a7tmbnRtwy4fDV6canBD6gdcRCFeD5gs1kYN/0/*))" | |
| { | |
| "descriptor": "wsh(sortedmulti(2,[b2768d2f/48'/1'/0'/2']tpubDFBRbXNvA84hPkZ82k5wDucCFMcS9RFX7mnehuth8dvGGZCFM8omREtmj4oUhdmByjveSW4QVzkzD4B7c5yA62AenXKoDDFVE69gEqh9bo4/0/*,[045c5f3c/48'/1'/0'/2']tpubDE9MoZJU8Rr3woj9jBbuNmuoECyEkhsMXVSeA2vZh9epJfEae4SJjCjqsHM9NDbY29yS3bhchAiJEsSncBLXfnpu7utfbzigkeKW4XYWPyZ/0/*,[0c0c27cb/48'/1'/0'/2']tpubDFTGo9mYUAbM55vfcU6P6b5ZtALzbhgzBVCeaxzgwAEjFBa |
| import lib as electrum | |
| Wallet = electrum.wallet.Wallet | |
| WalletStorage = electrum.storage.WalletStorage | |
| password = "1234" | |
| storage = WalletStorage('/home/user/.electrum/testnet/wallets/this_should_be_the_path_to_your_wallet_file') | |
| storage.decrypt(password) | |
| wallet = Wallet(storage) | |
| wallet.keystore.get_seed(password) | |
| wallet.keystore.get_master_private_key(password) |
| from abc import ABC, abstractmethod | |
| class InterfaceA(ABC): | |
| @abstractmethod | |
| def method_a(self) -> None: ... | |
| class InterfaceB(ABC): | |
| @abstractmethod | |
| def method_b(self) -> None: ... |
| #!/bin/bash | |
| ############################################################ | |
| # This script builds Qt5, QScintilla and qwt with | |
| # sip Python bindings. | |
| # Tested and developed on xenial 64bit | |
| # All other dev packages required to build QGIS need | |
| # to be installed with apt | |
| # Qt is built in debug mode. | |
| set -e |
| from electrum import bitcoin | |
| from electrum import keystore | |
| ks = keystore.from_xpub("zpub6nsHdRuY92FsMKdbn9BfjBCG6X8pyhCibNP6uDvpnw2cyrVhecvHRMa3Ne8kdJZxjxgwnpbHLkcR4bfnhHy6auHPJyDTQ3kianeuVLdkCYQ") | |
| pubkey = ks.derive_pubkey(for_change=False, n=0) | |
| addr = bitcoin.pubkey_to_address('p2wpkh', pubkey) | |
| print(addr) |