Implemented basic blocks first sync yesterday. Spent today analyzing it. Overall everything is looking great. From a single peer I downloaded 480,555 blocks, parsed, hashed and stored all headers and txs. I stopped the run today to look at the flush behavior. It took about 15 minutes to flush that full run to my HDD (146.5GB). The network stop is always almost instant, only flushing the logging buffer will slow it down. The store stop is now isolated from that, so we get a clear measure and indication of store flush progress. I'm probably going to add events so that we can reflect progress. There are a lot of tables, and we can get feedback from the msync and fsync completion of each one. That's as good as it will get for the memory maps, but that's enough to know that it isn't dead. The event logging system can be used by a UI to provide progress/feedback for these types of things.