### UP FOR GRABS Tests - Use standard tests. Crypto stuff: - kFromMessage - Check all the tweak instructions. Network: - *** Exponential backoff on bad connection. - NotInChain will be very bad for new peers - it'll run through until the genesis. - Check how many it has first. - Crypto on network - use id as public key? - Make work with IPv6 - Peers rated. - Useful/useless - new blocks/transactions or useful peers? - Solid communications? - Strategy for peer suggestion? Cleanups & caching - All caches should flush unused data (I'm looking at you, BlockChain) to avoid memory overload. - State DB should keep only last few N blocks worth of nodes (except for restore points - configurable, defaults to every 30000th block - all blocks that are restore points should be stored so their stateRoots are known good). THREAD-SAFETY - BlockChain - TransactionQueue - State CLI client - Implement CLI option "--help". General: - Better logging. - Colours. - Move over to new system. - Remove block chain on protocol change (i.e. store protocol with block chain). Robustness - Remove aborts - Recover from all exceptions. - Store version alongside BC DB. - Better handling of corrupt blocks. - Kill DB & restart. GUI - Make address/block chain list model-based, JIT populated. - Make everything else model-based - Qt/QML class. - Turn on/off debug channels. For PoC3: - Shared contract acceptence tests. ### Marko Ubuntu builds - Raring (branch, local, x64 only :-( ) - Quantal (branch) (Launchpad) - Saucy (master) (Launchpad) ### Alex Mac build. Mac build instructions. ### Eric Windows XC build. Windows XC build instructions. ### Tim/Harv Windows MSVC build. Windows MSVC build instructions. LATER: Trie on DB. - Move the restore point stuff into block restore points - i.e. keep all nodes from last 127 blocks with counter, at 128, kill but keep every (60*24*7)th or so i.e. one per week as a restore point. - maybe allow this to be configured. ### TIM Stateful Miner class. Better Mod-Exp.