/// <summary> /// Determines if all the blocks in the blockchain are valid /// </summary> /// <param name="blockChain">BlockChain to check</param> /// <param name="token">CancellationToken to stop checking. Use (CancellationTokenSource).Token</param> /// <returns>True is valid blockChain</returns> public static async Task <bool> Verify <T>(this BlockChain <T> blockChain, CancellationToken token = new CancellationToken()) where T : IBlockData, new() => await Task.Run(() => _Verify(blockChain), token);