qortal/src/test/signatures.java

50 lines
1.7 KiB
Java
Raw Normal View History

package test;
import static org.junit.Assert.*;
import java.math.BigDecimal;
import java.sql.SQLException;
import org.junit.Test;
import qora.account.PrivateKeyAccount;
import qora.block.Block;
import qora.block.GenesisBlock;
import utils.Base58;
import utils.NTP;
public class signatures extends common {
@Test
public void testGenesisBlockSignature() throws SQLException {
String expected58 = "6pHMBFif7jXFG654joT8GPaymau1fMtaxacRyqSrnAwQMQDvqRuLpHpfFyqX4gWVvj4pF1mwQhFgqWAvjVvPJUjmBZQvL751dM9cEcQBTaUcxtNLuWZCVUAtbnWN9f7FsLppHhkPbxwpoodL3UJYRGt3EZrG17mhv1RJbmq8j6rr7Mk";
GenesisBlock block = GenesisBlock.getInstance();
2018-05-25 11:48:47 +01:00
System.out.println("Generator: " + block.getGenerator().getAddress() + ", generator signature: " + Base58.encode(block.getGeneratorSignature()));
assertEquals(expected58, Base58.encode(block.getSignature()));
}
@Test
public void testBlockSignature() throws SQLException {
int version = 3;
byte[] reference = Base58.decode(
"BSfgEr6r1rXGGJCv8criR5NcBWfpHdJnm9x5unPwxvojEKCESv1wH1zJm7yvCeC48wshymYtARbHdUojbqWCCWW7h2UTc8g5oEx59C9M41dM7H48My8gVkcEZdxR1of3VgpE5UcowFp3kFC12hVcD9hUttJ2i2nZWMwprbFtUGyVv1U");
long timestamp = NTP.getTime() - 5000;
BigDecimal generatingBalance = BigDecimal.valueOf(10_000_000L).setScale(8);
PrivateKeyAccount generator = new PrivateKeyAccount(
new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 });
byte[] atBytes = null;
BigDecimal atFees = null;
Block block = new Block(version, reference, timestamp, generatingBalance, generator, atBytes, atFees);
block.calcGeneratorSignature();
block.calcTransactionsSignature();
assertTrue(block.isSignatureValid());
}
}