public void TestStorage() { var temp = new FileInfo(Path.GetTempFileName()); try { Console.WriteLine(temp.FullName); var @params = NetworkParameters.UnitTests(); var to = new EcKey().ToAddress(@params); StoredBlock b1; using (var store = new BoundedOverheadBlockStore(@params, temp)) { // Check the first block in a new store is the genesis block. var genesis = store.GetChainHead(); Assert.AreEqual(@params.GenesisBlock, genesis.Header); // Build a new block. b1 = genesis.Build(genesis.Header.CreateNextBlock(to).CloneAsHeader()); store.Put(b1); store.SetChainHead(b1); } // Check we can get it back out again if we rebuild the store object. using (var store = new BoundedOverheadBlockStore(@params, temp)) { var b2 = store.Get(b1.Header.Hash); Assert.AreEqual(b1, b2); // Check the chain head was stored correctly also. Assert.AreEqual(b1, store.GetChainHead()); } } finally { temp.Delete(); } }