Skip to content

Instantly share code, notes, and snippets.

View SomberNight's full-sized avatar

ghost43 SomberNight

View GitHub Profile
@SomberNight
SomberNight / decrypt_electrum_wallet.py
Created November 22, 2018 11:43
Decrypt Electrum wallet file
import sys
import getpass
from electrum.storage import WalletStorage
##########
# Set the path to your wallet file here.
#
path = "C:/Users/User/AppData/Roaming/Electrum/testnet/wallets/test_segwit_asdasd"
##########
@SomberNight
SomberNight / script_seedv14.py
Last active November 4, 2022 19:07
Extract seed and xprv from seed_v14 Electrum wallet file using modern Electrum
# 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
@SomberNight
SomberNight / script.py
Created May 4, 2020 04:29
Extract seed and xprv from Electrum wallet file from circa version 3.0
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)
@SomberNight
SomberNight / gpg_key_0xE7B748CDAF5E5ED9.txt
Last active June 15, 2021 18:43
gpg key 0xE7B748CDAF5E5ED9 (SomberNight)
GPG key
0xAF5E5ED9
0xE7B748CDAF5E5ED9
4AD64339DFA05E20B3F6AD51E7B748CDAF5E5ED9
4AD6 4339 DFA0 5E20 B3F6 AD51 E7B7 48CD AF5E 5ED9
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFq/xaYBEADLjN4eABFUTJH0OGRE6mtfPz4J2WYU8B3VI0KSKnqSNwGKm6MP
@SomberNight
SomberNight / gpg_key_0xCA9EEEC43DF911DC.txt
Created June 15, 2021 18:43
gpg key 0xCA9EEEC43DF911DC (SomberNight/ghost43 (Electrum RELEASE signing key))
GPG key
0x3DF911DC
0xCA9EEEC43DF911DC
0EEDCFD5CAFB459067349B23CA9EEEC43DF911DC
0EED CFD5 CAFB 4590 6734 9B23 CA9E EEC4 3DF9 11DC
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGDI71QBEACpSQg2/ZronvXY/Jhe9N2vfasExcVGEfBX0P6IqUGy/WTERmxr
@SomberNight
SomberNight / a.patch
Created February 5, 2021 20:11
electrum qt gui systray patch
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)
@SomberNight
SomberNight / wallet_from_bip32seed.py
Last active December 27, 2020 22:56
restore electrum wallet from bip32 root seed
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()
@SomberNight
SomberNight / asd
Created September 9, 2020 17:51
bitcoin core 0.20.1 getdescriptorinfo/importmulti checksum issue
$ 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
@SomberNight
SomberNight / bf_missing_seed_word.py
Last active June 7, 2020 15:29
Electrum: bruteforce a single missing word for a seed
#!/usr/bin/python3
import os
import copy
import imp
#imp.load_source('electrum', './electrum')
import electrum
from electrum import bitcoin