Premier portefeuille Bitcoin

La console Python

Electrum offre une console Python dans son interface utilisateur graphique (GUI), donnant accès à la plupart des commandes Electrum. Cette fonctionnalité permet de créer des scripts puissants et d'interagir directement avec votre portefeuille.

Utilisation de la console Python

  1. La console renvoie des objets Python, bien qu'ils puissent être affichés sous forme de JSON pour des raisons de lisibilité.
  2. Exemple : Utilisons la fonction listunspent() pour visualiser les produits non dépensés 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
}
]
  1. Bien que le résultat apparaisse comme JSON, il s'agit en fait d'un objet Python. L'affectation du résultat à une variable révèle sa véritable nature de liste de dictionnaires Python.
u = listunspent()
u
[{'tx_hash': 'e7029df9ac8735b04e8e957d0ce73987b5c9c5e920ec4a445130cdeca654f096', 'index': 0, 'raw_output_script': '76a91411bbdc6e3a27c44644d83f783ca7df3bdc2778e688ac', 'value': 0.01, 'address': '12cmY5RHRgx8KkUKASDcDYRotget9FNso3'}, {'tx_hash': 'b30edf57ca2a31560b5b6e8dfe567734eb9f7d3259bb334653276efe520735df', 'index': 0, 'raw_output_script': '76a914aaf437e25805f288141bfcdc27887ee5492bd13188ac', 'value': 9.04735316, 'address': '1GavSCND6TB7HuCnJSTEbHEmCctNGeJwXF'}]
  1. Vous pouvez utiliser des fonctions Python avec des commandes Electrum. Par exemple, pour extraire les adresses des sorties non dépensées :
>> map(lambda x:x.get('address'), listunspent())
[
"12cmY5RHRgx8KkUKASDcDYRotget9FNso3",
"1GavSCND6TB7HuCnJSTEbHEmCctNGeJwXF"
]
  1. Combinez plusieurs commandes pour effectuer des opérations complexes. Cet exemple permet d'extraire les clés privées des adresses dont les sorties ne sont pas consommées :
>> dumpprivkeys( map(lambda x:x.get('address'), listunspent()) )
{
"12cmY5RHRgx8KkUKASDcDYRotget9FNso3": "***************************************************",
"1GavSCND6TB7HuCnJSTEbHEmCctNGeJwXF": "***************************************************"
}

Remarque : dumpprivkey vous demandera votre mot de passe si votre portefeuille est crypté.

  1. Les méthodes de l'interface graphique sont disponibles par l'intermédiaire de l'option window variable. Par exemple, pour afficher un code QR :
window.show_qrcode(dumpprivkey(listunspent()[0]['address']))

Table des matières