Example #1
0
 def test_create_new_wallet(self):
     passphrase = 'mypassphrase'
     password = '******'
     encrypt_file = True
     d = create_new_wallet(path=self.wallet_path,
                           passphrase=passphrase,
                           password=password,
                           encrypt_file=encrypt_file)
     wallet = d['wallet']  # type: Standard_Wallet
     wallet.check_password(password)
     self.assertEqual(passphrase, wallet.keystore.get_passphrase(password))
     self.assertEqual(d['seed'], wallet.keystore.get_seed(password))
     self.assertEqual(encrypt_file, wallet.storage.is_encrypted())
Example #2
0
from electrum_dash.storage import WalletStorage
from electrum_dash.wallet import Wallet, create_new_wallet
from electrum_dash.commands import Commands


config = SimpleConfig({"testnet": True})  # to use ~/.electrum-dash/testnet as datadir
constants.set_testnet()  # to set testnet magic bytes
daemon = Daemon(config, listen_jsonrpc=False)
network = daemon.network
assert network.asyncio_loop.is_running()

# get wallet on disk
wallet_dir = os.path.dirname(config.get_wallet_path())
wallet_path = os.path.join(wallet_dir, "test_wallet")
if not os.path.exists(wallet_path):
    create_new_wallet(path=wallet_path)

# open wallet
storage = WalletStorage(wallet_path)
wallet = Wallet(storage)
wallet.start_network(network)

# you can use ~CLI commands by accessing command_runner
command_runner = Commands(config, wallet=None, network=network)
command_runner.wallet = wallet
print("balance", command_runner.getbalance())
print("addr",    command_runner.getunusedaddress())
print("gettx",   command_runner.gettransaction("d8ee577f6b864071c6ccbac1e30d0d19edd6fa9a171be02b85a73fd533f2734d"))

# but you might as well interact with the underlying methods directly
print("balance", wallet.get_balance())
Example #3
0
from electrum_dash.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-dash/testnet as datadir
constants.set_testnet()  # to set testnet magic bytes
daemon = Daemon(config, listen_jsonrpc=False)
network = daemon.network
assert network.asyncio_loop.is_running()

# get wallet on disk
wallet_dir = os.path.dirname(config.get_wallet_path())
wallet_path = os.path.join(wallet_dir, "test_wallet")
if not os.path.exists(wallet_path):
    create_new_wallet(path=wallet_path, config=config)

# open wallet
wallet = daemon.load_wallet(wallet_path, password=None, manual_upgrades=False)
wallet.start_network(network)

# you can use ~CLI commands by accessing command_runner
command_runner = Commands(config=config, daemon=daemon, network=network)
print(
    "balance",
    network.run_from_another_thread(command_runner.getbalance(wallet=wallet)))
print(
    "addr",
    network.run_from_another_thread(
        command_runner.getunusedaddress(wallet=wallet)))
print(
Example #4
0
    logging.configure_logging(config)
    fd, server = daemon.get_fd_or_server(config)

    if fd is not None:
        init_plugins(config, 'cmdline')
        d = daemon.Daemon(config, fd)
        path = config.get_wallet_path()
        if os.path.exists(path) is False:
            _logger.warn("Wallet doesn't exist, creating")
            if seed is not None:
                restore_wallet_from_text(seed,
                                         path=path,
                                         password=passphrase,
                                         encrypt_file=True)
            else:
                create_new_wallet(path=path,
                                  password=passphrase,
                                  encrypt_file=True)
        wallet = d.load_wallet(path, passphrase)
        if wallet is None:
            raise Exception("Failed to load wallet")
        d.cmd_runner.wallet = wallet
        wallet.change_gap_limit(gap_limit)
        daemon.run_hook('load_wallet', wallet, None)
        d.server.register_function(lambda: wallet.get_local_height(),
                                   'get_local_height')
        d.join()
        sys.exit(0)
    else:
        result = server.daemon(config)