@Test public void testWalletConstructor() throws IOException, InvalidCipherTextException { DefaultConfig config = new DefaultConfig(); Wallet wallet = new Wallet(config); log.debug(wallet.toString()); assertNotNull(wallet); byte[] data = "sign data".getBytes(); byte[] signature = wallet.sign(data); boolean verifyResult = wallet.verify(data, signature); assertTrue(verifyResult); }
log.debug("wallet= " + wallet.toString());
log.debug("wallet= " + wallet.toString());
@Test public void testGetAddressWithWalletAccount() throws IOException, InvalidCipherTextException { Account account = new Account(); log.debug("Account: " + account.toString()); log.debug("Account.address: " + Hex.toHexString(account.getAddress())); Wallet wallet = new Wallet(account.getKey(), "tmp/path", "nodePri.key", "Aa1234567890!"); log.debug("Wallet: " + wallet.toString()); log.debug("Wallet.address: " + Hex.toHexString(wallet.getAddress())); TransactionHusk tx1 = createTx(wallet); TransactionHusk tx2 = createTx(wallet); log.debug("Test Transaction1: " + tx1.toString()); log.debug("Test Transaction1 Address: " + tx1.getAddress()); log.debug("Test Transaction2: " + tx2.toString()); log.debug("Test Transaction2 Address: " + tx2.getAddress()); assertThat(wallet.getAddress()).isEqualTo(account.getAddress()); assertThat(tx1.getAddress()).isEqualTo(tx2.getAddress()); assertThat(account.getAddress()).isEqualTo(tx1.getAddress().getBytes()); }
@Test public void testGetAddressWithSig() throws IOException, InvalidCipherTextException, SignatureException { Account account = new Account(); log.debug("Account: " + account.toString()); log.debug("Account.address: " + Hex.toHexString(account.getAddress())); log.debug("Account.pubKey: " + Hex.toHexString(account.getKey().getPubKey())); Wallet wallet = new Wallet(account.getKey(), "tmp/path", "nodePri.key", "Aa1234567890!"); log.debug("Wallet: " + wallet.toString()); log.debug("Wallet.address: " + Hex.toHexString(wallet.getAddress())); log.debug("Wallet.pubKey: " + Hex.toHexString(wallet.getPubicKey())); TransactionHusk txHusk1 = createTx(wallet); log.debug("Test Transaction1: " + txHusk1.toString()); log.debug("Test Transaction1 Address: " + txHusk1.getAddress()); assertThat(txHusk1.verify()).isTrue(); assertThat(wallet.getAddress()).isEqualTo(account.getAddress()); assertThat(wallet.getAddress()).isEqualTo(txHusk1.getAddress().getBytes()); byte[] hashedRawData = txHusk1.getHashForSigning().getBytes(); log.debug("hashedRawData: " + Hex.toHexString(hashedRawData)); byte[] signatureBin = txHusk1.getInstance().getSignature().toByteArray(); log.debug("signatureBin: " + Hex.toHexString(signatureBin)); ECKey.ECDSASignature ecdsaSignature = new ECKey.ECDSASignature(signatureBin); ECKey key = ECKey.signatureToKey(hashedRawData, ecdsaSignature); byte[] address = key.getAddress(); byte[] pubKey = key.getPubKey(); log.debug("address: " + Hex.toHexString(address)); log.debug("pubKey: " + Hex.toHexString(pubKey)); assertThat(account.getAddress()).isEqualTo(address); assertThat(account.getKey().getPubKey()).isEqualTo(pubKey); }