static void Sync()
        {
            var blockCount = MongoDB <Block> .Count();

            //从已同步的前一个区块开始同步,避免程序强行关闭导致数据存储不全。
            blockCount = blockCount > 0 ? blockCount - 1 : blockCount;
            Sync(blockCount);
        }
        /// <summary>
        /// 修复模式
        /// </summary>
        /// <param name="start">开始高度</param>
        /// <param name="end">截止高度</param>
        static void Fix(uint start, uint end)
        {
            end = Math.Min(end, MongoDB <Block> .Count());
            for (uint i = start; i < end; i++)
            {
#if !DEBUG
                try { Insert(i); } catch (Exception e) { Console.WriteLine(e); Console.ReadLine(); };
#endif
#if DEBUG
                Insert(i);
#endif
                //Console.Clear();
                Console.WriteLine($"{i}/{end}");
            }
        }
        static void Main(string[] args)
        {
            Console.WriteLine("正在初始化数据库");
            Initialize();

            while (true)
            {
                Console.WriteLine("eg:>insert 0");
                Console.WriteLine("eg:>sync");
                Console.WriteLine("eg:>sync 10888");
                Console.Write(">");
                var input   = Console.ReadLine();
                var command = input.Split(' ')[0];
                if (command == "sync")
                {
                    if (input.Split(' ').Length > 1)
                    {
                        Sync(Convert.ToUInt32(input.Split(' ')[1]));
                    }
                    else
                    {
                        Sync();
                    }
                }
                if (command == "fix")
                {
                    if (input.Split(' ').Length > 2 &&
                        uint.TryParse(input.Split(' ')[1], out uint start) &&
                        uint.TryParse(input.Split(' ')[2], out uint end))
                    {
                        Fix(start, end);
                    }
                    else if (input.Split(' ').Length > 2 &&
                             uint.TryParse(input.Split(' ')[1], out uint start1))
                    {
                        Fix(start1, MongoDB <Block> .Count());
                    }
                }
                if (command == "insert")
                {
                    if (input.Split(' ').Length > 1)
                    {
                        var parameter = input.Split(' ')[1];
                        var start     = uint.TryParse(parameter, out uint result);
                        if (start)
                        {
                            Console.WriteLine($"存储区块 {result}");
                            Insert(result);
                        }
                    }
                }
                if (command == "address")
                {
                    if (input.Split(' ').Length > 1)
                    {
                        var parameter = input.Split(' ')[1];
                        Console.WriteLine($"正在查询 {parameter}");
                        QueryAddress(parameter);
                    }
                }

                Console.WriteLine("命令执行完毕");
            }
        }