Thanks for the game. No luck finding an addy, but I learned how to use vanitygen well if another contest like this arises.
Me too...
So the new addresses I have use 'compressed' public keys and so use less space on the blockchain each time they stake. But I was left with the question of how to migrate from the old addresses to the new ones.
I ended up adding a new flag to the CLAM client: -staketo=ADDR which you can use to tell it to move coins to the new address as they stake.
It results in a nice smooth transition:
but somewhat ugly transactions:
because the CLAM protocol says that input 0 and output 1 have to have the same address, so I make an empty output 1 and a new non-empty output 2 to follow the protocol. All the 0-value outputs should be 'spent' automatically when they mature thanks to my "combineany=1" setting.
Edit: here's evidence that it is indeed cleaning up the zero-valued outputs it creates:
"confirmations" : 1
"confirmations" : 2
"confirmations" : 3
"confirmations" : 4
"confirmations" : 5
[...]
"confirmations" : 497
"confirmations" : 498
"confirmations" : 499
"confirmations" : 500
"confirmations" : 503
"confirmations" : 504
"confirmations" : 505
"confirmations" : 506
"confirmations" : 508
"confirmations" : 510
"confirmations" : 511
ie. only one mature unspent 0 output, waiting for the next time we stake to get spent in the staking transaction.
Here's an example of it spending a zero-valued output as it creates a new one:
The creation of new zero-valued outputs only happens when moving coins from one address to another while staking - so only once per output.