Here is a brief list of things that still need to be done. More unit tests: - Create a MockNetworkConnection and use it to test the Peer. API: - Reorganize the package layout to be more modular. - Support multiple active wallets. - Allow sorting of transactions by time. Protocol: - Start up faster - Store a block locator in the persisted chain - Use the getheaders command to speed up the initial chain download - Implement tx fees. - Longer term potentially add a getmerklebranch protocol command so we can check 0-confirmation transactions. - Support PeerGroups for holding open/using multiple connections at once. Examples/documentation: - Implement a simple Swing GUI payment app. Cleanup: - Find a way to avoid some horrid hacks when shutting down the network connection. - Implement a BitCoin class that encapsulates a BigInteger and formatting. - Make NetworkParameters use subclasses instead of static methods to construct.