Il principale portafoglio Bitcoin

La console Python

Electrum offre una console Python nella sua interfaccia grafica (GUI), che consente di accedere alla maggior parte dei comandi di Electrum. Questa funzione consente un potente scripting e un'interazione diretta con il portafoglio.

Utilizzo della console Python

  1. La console restituisce oggetti Python, anche se possono essere visualizzati in formato JSON per una maggiore leggibilità.
  2. Esempio: Utilizziamo l'opzione listunspent() per visualizzare le uscite non spese nel portafoglio:
>> 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. Anche se l'output appare come JSON, in realtà è un oggetto Python. Assegnando il risultato a una variabile, si scopre la sua vera natura di elenco di dizionari 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. È possibile utilizzare le funzioni Python con i comandi di Electrum. Ad esempio, per estrarre gli indirizzi dalle uscite non utilizzate:
>> map(lambda x:x.get('address'), listunspent())
[
"12cmY5RHRgx8KkUKASDcDYRotget9FNso3",
"1GavSCND6TB7HuCnJSTEbHEmCctNGeJwXF"
]
  1. Combinare più comandi per operazioni complesse. Questo esempio scarica le chiavi private per gli indirizzi con uscite non consumate:
>> dumpprivkeys( map(lambda x:x.get('address'), listunspent()) )
{
"12cmY5RHRgx8KkUKASDcDYRotget9FNso3": "***************************************************",
"1GavSCND6TB7HuCnJSTEbHEmCctNGeJwXF": "***************************************************"
}

Nota: dumpprivkey richiederà la password se il portafoglio è criptato.

  1. I metodi della GUI sono disponibili attraverso l'opzione window variabile. Ad esempio, per visualizzare un codice QR:
window.show_qrcode(dumpprivkey(listunspent()[0]['address']))

Indice dei contenuti