Working on abstracting the block store in Bitcoin Core. Currently evrything just goes straight to a file. I want to introduce abstract readers and writers that could optionally manage the data in memory, or potentially even a proper database. Then tests could optionally run without touching the filesystem.