public void CanValidateBlocks() { foreach (var block in StoredBlock.EnumerateFolder(@"data\blocks")) { ValidationState validation = Network.Main.CreateValidationState(); validation.Now = block.Item.Header.BlockTime; Assert.True(validation.CheckBlock(block.Item)); } }
public void CanReadStoredBlockFolder() { var blk0 = StoredBlock.EnumerateFile(@"data\blocks\blk00000.dat", (uint)0).ToList(); var blk1 = StoredBlock.EnumerateFile(@"data\blocks\blk00001.dat", (uint)1).ToList(); int count = 0; foreach (var stored in StoredBlock.EnumerateFolder(@"data\blocks")) { if (count == 0) { Assert.Equal(blk0[0].Item.GetHash(), stored.Item.GetHash()); } if (count == 300) { Assert.Equal(blk1[0].Item.GetHash(), stored.Item.GetHash()); } Assert.True(stored.Item.Header.CheckProofOfWork()); Assert.True(stored.Item.CheckMerkleRoot()); count++; } Assert.Equal(600, count); count = 0; foreach (var stored in StoredBlock.EnumerateFolder(@"data\blocks", new DiskBlockPosRange(blk1[298].BlockPosition))) { count++; } Assert.Equal(2, count); count = 0; foreach (var stored in StoredBlock.EnumerateFolder(@"data\blocks", new DiskBlockPosRange(blk0[298].BlockPosition))) { count++; } Assert.Equal(302, count); count = 0; foreach (var stored in StoredBlock.EnumerateFolder(@"data\blocks", new DiskBlockPosRange(blk0[298].BlockPosition, blk1[2].BlockPosition))) { count++; } Assert.Equal(4, count); count = 0; foreach (var stored in StoredBlock.EnumerateFolder(@"data\blocks", new DiskBlockPosRange(blk0[30].BlockPosition, blk0[34].BlockPosition))) { count++; } Assert.Equal(4, count); }
public void CanReadStoredBlockFolder() { var blk0 = StoredBlock.EnumerateFile(TestDataLocations.DataBlockFolder("blk0001.dat"), (uint)1, network: Network.StratisMain).ToList(); var blk1 = StoredBlock.EnumerateFile(TestDataLocations.DataBlockFolder("blk0002.dat"), (uint)2, network: Network.StratisMain).ToList(); int count = 0; foreach (var stored in StoredBlock.EnumerateFolder(TestDataLocations.DataFolder(@"blocks"), network: Network.StratisMain)) { if (count == 0) { Assert.Equal(blk0[0].Item.GetHash(), stored.Item.GetHash()); } if (count == 2000) { Assert.Equal(blk1[0].Item.GetHash(), stored.Item.GetHash()); } Assert.True(stored.Item.Check()); count++; } Assert.Equal(4000, count); count = 0; foreach (var stored in StoredBlock.EnumerateFolder(TestDataLocations.DataFolder(@"blocks"), new DiskBlockPosRange(blk1[1998].BlockPosition), network: Network.StratisMain)) { count++; } Assert.Equal(2, count); count = 0; foreach (var stored in StoredBlock.EnumerateFolder(TestDataLocations.DataFolder(@"blocks"), new DiskBlockPosRange(blk0[1998].BlockPosition), network: Network.StratisMain)) { count++; } Assert.Equal(2002, count); count = 0; foreach (var stored in StoredBlock.EnumerateFolder(TestDataLocations.DataFolder(@"blocks"), new DiskBlockPosRange(blk0[1998].BlockPosition, blk1[2].BlockPosition), network: Network.StratisMain)) { count++; } Assert.Equal(4, count); count = 0; foreach (var stored in StoredBlock.EnumerateFolder(TestDataLocations.DataFolder(@"blocks"), new DiskBlockPosRange(blk0[30].BlockPosition, blk0[34].BlockPosition), network: Network.StratisMain)) { count++; } Assert.Equal(4, count); }