主要ビットコイン・ウォレット

Pythonコンソール

Electrumは、グラフィカルユーザーインターフェース(GUI)の中にPythonコンソールを備えており、Electrumのほとんどのコマンドにアクセスすることができます。この機能により、強力なスクリプトを作成し、お客様のウォレットと直接やり取りすることができます。

Pythonコンソールを使う

  1. コンソールはPythonオブジェクトを返しますが、読みやすくするためにJSONとして表示されることもあります。
  2. 例例 listunspent() コマンドを実行すると、ウォレット内の未使用のアウトプットが表示されます:
>> 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. 出力はJSONのように見えますが、実際はPythonのオブジェクトです。結果を変数に代入すると、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. Pythonの関数をElectrumのコマンドで使うことができます。例えば、未使用の出力からアドレスを抽出することができます:
>> map(lambda x:x.get('address'), listunspent())
[
"12cmY5RHRgx8KkUKASDcDYRotget9FNso3",
"1GavSCND6TB7HuCnJSTEbHEmCctNGeJwXF"
]
  1. 複数のコマンドを組み合わせて複雑な操作を行う。この例では、未使用出力のアドレスの秘密鍵をダンプする:
>> dumpprivkeys( map(lambda x:x.get('address'), listunspent()) )
{
"12cmY5RHRgx8KkUKASDcDYRotget9FNso3": "***************************************************",
"1GavSCND6TB7HuCnJSTEbHEmCctNGeJwXF": "***************************************************"
}

注: dumpprivkey 財布が暗号化されている場合、パスワードの入力を求められます。

  1. GUIメソッドは window 変数を使用します。例えば、QRコードを表示する:
window.show_qrcode(dumpprivkey(listunspent()[0]['address']))

目次