scripts: update quick_start.py to work with 4.0.x internals

fixes #6453
This commit is contained in:
SomberNight 2020-08-25 16:22:59 +02:00
parent c64da9448f
commit 42da407ee1
No known key found for this signature in database
GPG key ID: B33B5F232C6271E9

21
electrum/scripts/quick_start.py Normal file → Executable file
View file

@ -1,13 +1,20 @@
#!/usr/bin/env python3
import os import os
import asyncio
from electrum.simple_config import SimpleConfig from electrum.simple_config import SimpleConfig
from electrum import constants from electrum import constants
from electrum.daemon import Daemon from electrum.daemon import Daemon
from electrum.storage import WalletStorage from electrum.storage import WalletStorage
from electrum.wallet import Wallet, create_new_wallet from electrum.wallet import Wallet, create_new_wallet
from electrum.wallet_db import WalletDB
from electrum.commands import Commands from electrum.commands import Commands
from electrum.util import create_and_start_event_loop, log_exceptions
loop, stopping_fut, loop_thread = create_and_start_event_loop()
config = SimpleConfig({"testnet": True}) # to use ~/.electrum/testnet as datadir config = SimpleConfig({"testnet": True}) # to use ~/.electrum/testnet as datadir
constants.set_testnet() # to set testnet magic bytes constants.set_testnet() # to set testnet magic bytes
daemon = Daemon(config, listen_jsonrpc=False) daemon = Daemon(config, listen_jsonrpc=False)
@ -21,18 +28,20 @@ if not os.path.exists(wallet_path):
create_new_wallet(path=wallet_path, config=config) create_new_wallet(path=wallet_path, config=config)
# open wallet # open wallet
storage = WalletStorage(wallet_path) wallet = daemon.load_wallet(wallet_path, password=None, manual_upgrades=False)
wallet = Wallet(storage, config=config)
wallet.start_network(network) wallet.start_network(network)
# you can use ~CLI commands by accessing command_runner # you can use ~CLI commands by accessing command_runner
command_runner = Commands(config=config, daemon=daemon, network=network) command_runner = Commands(config=config, daemon=daemon, network=network)
command_runner.wallet = wallet print("balance", network.run_from_another_thread(command_runner.getbalance(wallet=wallet)))
print("balance", command_runner.getbalance()) print("addr", network.run_from_another_thread(command_runner.getunusedaddress(wallet=wallet)))
print("addr", command_runner.getunusedaddress()) print("gettx", network.run_from_another_thread(
print("gettx", command_runner.gettransaction("bd3a700b2822e10a034d110c11a596ee7481732533eb6aca7f9ca02911c70a4f")) command_runner.gettransaction("bd3a700b2822e10a034d110c11a596ee7481732533eb6aca7f9ca02911c70a4f")))
# but you might as well interact with the underlying methods directly # but you might as well interact with the underlying methods directly
print("balance", wallet.get_balance()) print("balance", wallet.get_balance())
print("addr", wallet.get_unused_address()) print("addr", wallet.get_unused_address())
print("gettx", network.run_from_another_thread(network.get_transaction("bd3a700b2822e10a034d110c11a596ee7481732533eb6aca7f9ca02911c70a4f"))) print("gettx", network.run_from_another_thread(network.get_transaction("bd3a700b2822e10a034d110c11a596ee7481732533eb6aca7f9ca02911c70a4f")))
stopping_fut.set_result(1) # to stop event loop