Lightweight Bitcoin Client

La plupart des commandes de la ligne de commande d'Electrum est aussi disponible en terminal.
Les résultats sont des objets Python, bien qu'ils soient parfois rendus en JSON par souci de clarté.

Appelons listunspent(), pour voir la liste de sorties non-dépensées dans le portefeuille :

>> listunspent()
[
    {
        "address": "12cmY5RHRgx8KkUKASDcDYRotget9FNso3", 
        "index": 0, 
        "raw_output_script": "76a91411bbdc6e3a27c44644d83f783ca7df3bdc2778e688ac", 
        "tx_hash": "e7029df9ac8735b04e8e957d0ce73987b5c9c5e920ec4a445130cdeca654f096", 
        "value": 0.01
    }, 
    {
        "address": "1GavSCND6TB7HuCnJSTEbHEmCctNGeJwXF", 
        "index": 0, 
        "raw_output_script": "76a914aaf437e25805f288141bfcdc27887ee5492bd13188ac", 
        "tx_hash": "b30edf57ca2a31560b5b6e8dfe567734eb9f7d3259bb334653276efe520735df", 
        "value": 9.04735316
    }
]

Notez que le résultat est rendu en JSON.
Cependant, si nous le sauvegardons dans une variable Python, il est rendu comme un objet Python :

>> u = listunspent()
>> u
[{'tx_hash': u'e7029df9ac8735b04e8e957d0ce73987b5c9c5e920ec4a445130cdeca654f096', 'index': 0, 'raw_output_script': '76a91411bbdc6e3a27c44644d83f783ca7df3bdc2778e688ac', 'value': 0.01, 'address': '12cmY5RHRgx8KkUKASDcDYRotget9FNso3'}, {'tx_hash': u'b30edf57ca2a31560b5b6e8dfe567734eb9f7d3259bb334653276efe520735df', 'index': 0, 'raw_output_script': '76a914aaf437e25805f288141bfcdc27887ee5492bd13188ac', 'value': 9.04735316, 'address': '1GavSCND6TB7HuCnJSTEbHEmCctNGeJwXF'}]


Cela rend possible la combinaison de commandes Electrum avec Python.
Par exemple, prenons seulement les adresses dans le résultat précédent :

>> map(lambda x:x.get('address'), listunspent())
[
    "12cmY5RHRgx8KkUKASDcDYRotget9FNso3", 
    "1GavSCND6TB7HuCnJSTEbHEmCctNGeJwXF"
]

Ici, nous combinons deux commandes, listunspent et dumpprivkeys, afin d'afficher les clés privées des toutes les adresses qui ont des sorties non-dépensées :

>> dumpprivkeys( map(lambda x:x.get('address'), listunspent()) )
{
    "12cmY5RHRgx8KkUKASDcDYRotget9FNso3": "***************************************************", 
    "1GavSCND6TB7HuCnJSTEbHEmCctNGeJwXF": "***************************************************"
}

Notez que dumpprivkey demandera votre mot de passe si votre portefeuille est encrypté.

Les méthodes du GUI peuvent être accédées via la variable gui. Par exemple, vous pouvez afficher le code QR à partir d'une chaîne en utilisant gui.show_qrcode.

Exemple :

gui.show_qrcode(dumpprivkey(listunspent()[0]['address']))