def test_encode_public(self): secretkey = PrivateKey(secret=b16decode(self.secret_2)) publickey = PublicKey.from_secret(secretkey.secret) self.assertEqual(self.public_address, integrity.compute_public_address(publickey)) self.assertEqual(self.public_digest, b16encode(integrity.public_digest(publickey)))
def test_passphrase(): w = Wallet(MNEMONIC, passphrase="@@@@") sk, pk = w.derive_account("btc") expected_sk = bytes.fromhex( "63c7cf13220c7e2d81a7edf88cef431da1f7a323b8cfc9125be4311651aa6b43") expected_pk = bytes.fromhex( "03fcd9a4f6abc4a0548e57fae133c47de5715372cfc5ea44e2b5f7ab4a3997d344") assert sk == expected_sk assert pk == expected_pk assert pk == PublicKey.from_secret(expected_sk).format()
def test_btc_wallet(): w = Wallet(MNEMONIC_JA, language="japanese") sk, pk = w.derive_account("btc") expected_sk = bytes.fromhex( "b9a012b6b7a483cd31dee2cf3c6734b7f5c043657f3b7068e3ca806c3b5d7ef1") expected_pk = bytes.fromhex( "02e5552d6999ce4f43c2b519c3b5d541585a6980dca3f3c5a96ce1b482824dd713") assert sk == expected_sk assert pk == expected_pk assert pk == PublicKey.from_secret(expected_sk).format() sk, pk = w.derive_account(1) # testnet expected_pk = bytes.fromhex( "02c0dc81e9753524f3303881ab026d27b3a614ce4de93dbe7d2b115aba103d19b5") assert pk == expected_pk
def key_pair(): """Generate a public key and a secret key.""" secretkey = PrivateKey() publickey = PublicKey.from_secret(secretkey.secret) return (publickey, secretkey)