Compressed pubkeys

This patch enabled compressed pubkeys when -compressedpubkeys is passed.
These are 33 bytes instead of 65, and require only marginally more CPU
power when verifying. Compressed pubkeys have a different corresponding
address, so it is determined at generation. When -compressedpubkeys is
given, all newly generated addresses will use a compressed key, while
older/other addresses keep using normal keys. Unpatched clients will
relay and verify these transactions.
This commit is contained in:
Pieter Wuille
2011-11-21 02:46:28 +01:00
parent 1684f98b27
commit 11529c6e4f
7 changed files with 79 additions and 50 deletions

View File

@@ -860,12 +860,14 @@ int CWalletDB::LoadWallet(CWallet* pwallet)
{
CPrivKey pkey;
ssValue >> pkey;
key.SetPubKey(vchPubKey);
key.SetPrivKey(pkey);
}
else
{
CWalletKey wkey;
ssValue >> wkey;
key.SetPubKey(vchPubKey);
key.SetPrivKey(wkey.vchPrivKey);
}
if (!pwallet->LoadKey(key))