Some work on addresses, unfortunately it doesn't work yet.

This commit is contained in:
2015-04-29 20:08:59 +02:00
parent 00bd6a08b7
commit 08c46b3a97
6 changed files with 74 additions and 13 deletions

View File

@@ -17,6 +17,9 @@
package ch.dissem.bitmessage.entity;
import ch.dissem.bitmessage.entity.valueobject.PrivateKey;
import ch.dissem.bitmessage.utils.Base58;
import ch.dissem.bitmessage.utils.Bytes;
import ch.dissem.bitmessage.utils.Security;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
@@ -42,7 +45,37 @@ public class BitmessageAddressTest {
@Test
public void testCreateAddress() {
BitmessageAddress address = new BitmessageAddress(new PrivateKey(0, 0));
BitmessageAddress address = new BitmessageAddress(new PrivateKey(0, 0, 0));
assertNotNull(address.getPubkey());
}
@Test
public void testV3Import() {
assertEquals(3, new BitmessageAddress("BM-2DAjcCFrqFrp88FUxExhJ9kPqHdunQmiyn").getVersion());
assertEquals(1, new BitmessageAddress("BM-2DAjcCFrqFrp88FUxExhJ9kPqHdunQmiyn").getStream());
byte[] privsigningkey = Base58.decode("5KU2gbe9u4rKJ8PHYb1rvwMnZnAJj4gtV5GLwoYckeYzygWUzB9");
byte[] privencryptionkey = Base58.decode("5KHd4c6cavd8xv4kzo3PwnVaYuBgEfg7voPQ5V97aZKgpYBXGck");
assertEquals((byte) 0x80, privsigningkey[0]);
assertEquals((byte) 0x80, privencryptionkey[0]);
privsigningkey = Bytes.subArray(privsigningkey, 1, privsigningkey.length - 5);
privencryptionkey = Bytes.subArray(privencryptionkey, 1, privencryptionkey.length - 5);
privsigningkey = Bytes.expand(privsigningkey, 32);
privencryptionkey = Bytes.expand(privencryptionkey, 32);
BitmessageAddress address = new BitmessageAddress(new PrivateKey(privsigningkey, privencryptionkey,
Security.createPubkey(3, 1, privsigningkey, privencryptionkey, 320, 14000)));
assertEquals("BM-2DAjcCFrqFrp88FUxExhJ9kPqHdunQmiyn", address.getAddress());
}
@Test
public void testV4Import() {
assertEquals(4, new BitmessageAddress("BM-2cV5f9EpzaYARxtoruSpa6pDoucSf9ZNke").getVersion());
byte[] privsigningkey = Base58.decode("5KMWqfCyJZGFgW6QrnPJ6L9Gatz25B51y7ErgqNr1nXUVbtZbdU");
byte[] privencryptionkey = Base58.decode("5JXXWEuhHQEPk414SzEZk1PHDRi8kCuZd895J7EnKeQSahJPxGz");
BitmessageAddress address = new BitmessageAddress(new PrivateKey(privsigningkey, privencryptionkey,
Security.createPubkey(3, 1, privsigningkey, privencryptionkey, 320, 14000)));
assertEquals("BM-2cV5f9EpzaYARxtoruSpa6pDoucSf9ZNke", address.getAddress());
}
}