コード例 #1
0
 def test_wallet_database_encrypted(self):
     wallet = BSDDBWalletDatabase(self.dbenv, "wallet_encrypted_hello.dat")
     wallet.open()
     print wallet.get_master_keys()
     for public_key, crypted_secret in  wallet.crypted_keys.iteritems():
         print "public_key", hexstr(public_key)
         print "crypted_secret", hexstr(crypted_secret)
コード例 #2
0
    def new_wallet(self, filename, passphrase):
        directory, basename = os.path.split(filename)
        dbenv = self.get_dbenv_handle(directory)

        wallet_db = BSDDBWalletDatabase(dbenv, basename)
        wallet_db.create()

        wallet = Wallet(wallet_db, self.clientparams.runmode)
        wallet.create(passphrase)
        #add file uid to list
        dbenv.open_file_uids.add(bsddb_read_file_uid(filename))

        account = WalletAccount(self.log, basename, wallet, self.blockchain)
        TransactionPublisher(self.node, account)
        self.account_set.add_account(account)
        self.account_infos[account] = (dbenv, directory, basename)
コード例 #3
0
ファイル: bitcoin_client.py プロジェクト: sirk390/coinpy
 def new_wallet(self, filename, passphrase):
     directory, basename = os.path.split(filename)
     dbenv = self.get_dbenv_handle(directory)
     
     wallet_db = BSDDBWalletDatabase(dbenv, basename)
     wallet_db.create()
     
     wallet = Wallet(wallet_db, self.clientparams.runmode)
     wallet.create(passphrase)
     #add file uid to list
     dbenv.open_file_uids.add(bsddb_read_file_uid(filename))
     
     
     account = WalletAccount(self.log, basename, wallet, self.blockchain)
     TransactionPublisher(self.node, account)
     self.account_set.add_account(account)
     self.account_infos[account] = (dbenv, directory, basename)
コード例 #4
0
 def test_wallet_database_encrypted(self):
     wallet = BSDDBWalletDatabase(self.dbenv, "wallet_encrypted_hello.dat")
     wallet.open()
     print wallet.get_master_keys()
     for public_key, crypted_secret in wallet.crypted_keys.iteritems():
         print "public_key", hexstr(public_key)
         print "crypted_secret", hexstr(crypted_secret)
コード例 #5
0
    def open_wallet(self, filename):
        directory, basename = os.path.split(filename)
        dbenv = self.get_dbenv_handle(directory)

        uid = bsddb_read_file_uid(filename)
        if uid in dbenv.open_file_uids:
            raise Exception(
                "Multiple wallets with the same uid unsupported in the same directory."
            )
        wallet_db = BSDDBWalletDatabase(dbenv, basename)
        wallet = Wallet(wallet_db, self.clientparams.runmode)
        wallet.open()
        account = WalletAccount(self.log, basename, wallet, self.blockchain)
        TransactionPublisher(self.node, account)
        self.account_set.add_account(account)
        self.account_infos[account] = (dbenv, directory, basename)
        #add uid last in case something went wrong before
        dbenv.open_file_uids.add(uid)
コード例 #6
0
    from coinpy_tests.mock import Mock
    from coinpy.model.protocol.runmode import MAIN, TESTNET
    from coinpy.lib.wallet.wallet import Wallet
    from coinpy.lib.wallet.bsddb.bsddb_wallet_database import BSDDBWalletDatabase
    from coinpy.lib.wallet.coin_selector import CoinSelector
    from coinpy.tools.bitcoin.base58check import decode_base58check
    from coinpy.model.constants.bitcoin import COIN
    from coinpy.lib.vm.vm import TxValidationVM

    import os

    runmode = TESTNET
    wallet_filename = "D:\\repositories\\coinpy\\coinpy-client\\src\\data\\testnet\\wallet_testnet.dat"
    directory, filename = os.path.split(wallet_filename)
    bsddb_env = BSDDBEnv(directory)
    wallet = Wallet(None, BSDDBWalletDatabase(bsddb_env, filename), runmode)

    selector = CoinSelector()
    amount, fee = 145.0065 * COIN, 0 * COIN
    #list of (txhash, tx, index, txout)
    outputs = list(wallet.iter_my_outputs())
    selected_outputs = selector.select_coins(outputs, amount + fee)
    tx = create_pubkeyhash_transaction(
        selected_outputs,
        decode_base58check("n4MsBRWD7VxKGsqYRSLaFZC6hQrsrKLaZo"),
        decode_base58check("n4MsBRWD7VxKGsqYRSLaFZC6hQrsrKLaZo"), amount, fee)
    sign_transaction(tx, selected_outputs)
    vm = TxValidationVM()
    print tx
    print len(selected_outputs)
    print vm.validate(tx, 0, selected_outputs[0].txout.script,