def __init__(self, hex_privkey=None, enable_cache=False): """ If @hex_privkey is given, use that to derive keychain otherwise, use a new random seed """ if hex_privkey: self.priv_keychain = PrivateKeychain.from_private_key(hex_privkey) else: #log.debug("No privatekey given, starting new wallet") self.priv_keychain = PrivateKeychain() self.master_address = self.get_master_address() self.child_addresses = None if enable_cache: cache = self.get_cache() if cache is not None: if cache['master_address'] == self.master_address: self.child_addresses = cache['child_addresses'] else: log.debug("Wallet already exists with master address: %s" % cache['master_address']) else: #log.debug("Creating cache of HD wallet addresses ...") self.create_addresses_cache()
def __init__(self, hex_privkey=None, enable_cache=False): """ If @hex_privkey is given, use that to derive keychain otherwise, use a new random seed """ if hex_privkey: self.priv_keychain = PrivateKeychain.from_private_key(hex_privkey) else: #log.debug("No privatekey given, starting new wallet") self.priv_keychain = PrivateKeychain() self.master_address = self.get_master_address() self.child_addresses = None if enable_cache: cache = self.get_cache() if cache is not None: if cache['master_address'] == self.master_address: self.child_addresses = cache['child_addresses'] else: log.debug("Wallet already exists with master address: %s" % cache['master_address']) else: #log.debug("Creating cache of HD wallet addresses ...") self.create_addresses_cache()
def get_priv_keychain(self, hex_privkey, chaincode): if hex_privkey: return PrivateKeychain.from_private_key(hex_privkey, chain_path=chaincode) log.debug('No privatekey given, starting new wallet') return PrivateKeychain()
def test_derivation_from_raw_keys(self): public_keychain = PublicKeychain.from_public_key(self.public_key_hex) private_keychain = PrivateKeychain.from_private_key( self.private_key_hex) public_keychain_2 = private_keychain.public_keychain() self.assertEqual(str(public_keychain), str(public_keychain_2)) self.assertEqual(str(public_keychain), self.reference_public_keychain)
def __init__(self, hex_privkey=None): """ If @hex_privkey is given, use that to derive keychain otherwise, use a new random seed """ if hex_privkey: self.priv_keychain = PrivateKeychain.from_private_key(hex_privkey) else: self.priv_keychain = PrivateKeychain()
def __init__(self, hex_privkey=None): """ If @hex_privkey is given, use that to derive keychain otherwise, use a new random seed """ if hex_privkey: self.priv_keychain = PrivateKeychain.from_private_key(hex_privkey) else: log.debug("No privatekey given, starting new wallet") self.priv_keychain = PrivateKeychain() self.master_address = self.get_master_address() self.child_addresses = None
def __init__(self, hex_privkey=None, config_path=CONFIG_PATH): """ If @hex_privkey is given, use that to derive keychain otherwise, use a new random seed """ if hex_privkey: self.priv_keychain = PrivateKeychain.from_private_key(hex_privkey) else: log.debug("No privatekey given, starting new wallet") self.priv_keychain = PrivateKeychain() self.master_address = self.get_master_address() self.child_addresses = None self.config_path = config_path
def test_high_volume_derivation(self): number_of_keys = 10 public_keychain = PublicKeychain.from_public_key(self.public_key_hex) private_keychain = PrivateKeychain.from_private_key(self.private_key_hex) keypairs = [] print "" for i in range(number_of_keys): print "making key %i of %i" % (i+1, number_of_keys) public_key = public_keychain.child(i).public_key() private_key = private_keychain.child(i).private_key() keypairs.append({ 'public': public_key, 'private': private_key }) for i in range(len(keypairs)): keypair = keypairs[i] print "checking key %i of %i" % (i+1, number_of_keys) self.assertEqual(privkey_to_pubkey(keypair['private']), keypair['public'])
def test_high_volume_derivation(self): number_of_keys = 10 public_keychain = PublicKeychain.from_public_key(self.public_key_hex) private_keychain = PrivateKeychain.from_private_key(self.private_key_hex) keypairs = [] print "" for i in range(number_of_keys): print "making key %i of %i" % (i+1, number_of_keys) public_key = public_keychain.child(i).public_key() private_key = private_keychain.child(i).private_key() keypairs.append({ 'public': public_key, 'private': private_key }) for i in range(len(keypairs)): keypair = keypairs[i] print "checking key %i of %i" % (i+1, number_of_keys) # self.assertEqual(privkey_to_pubkey(keypair['private']), keypair['public']) self.assertEqual(keylib.ECPrivateKey(keypair['private']).public_key().to_hex(), keylib.ECPublicKey(keypair['public']).to_hex())
def get_priv_keychain(self, hex_privkey, chaincode): if hex_privkey: return PrivateKeychain.from_private_key(hex_privkey, chain_path=chaincode) log.debug('No privatekey given, starting new wallet') return PrivateKeychain()
def test_derivation_from_raw_keys(self): public_keychain = PublicKeychain.from_public_key(self.public_key_hex) private_keychain = PrivateKeychain.from_private_key(self.private_key_hex) public_keychain_2 = private_keychain.public_keychain() self.assertEqual(str(public_keychain), str(public_keychain_2)) self.assertEqual(str(public_keychain), self.reference_public_keychain)