Exemple #1
0
        static void ExportChunk(uint chunkID, uint maxBlock, NeoAPI api)
        {
            var fileName = "chain/chunk" + chunkID;

            if (File.Exists(fileName))
            {
                var blocks = LoadChunk(fileName);
                if (blocks.Count == chunkSize)
                {
                    return;
                }
            }


            var lines = new List <string>();

            uint startBlock = chunkID * chunkSize;
            uint endBlock   = startBlock + (chunkSize - 1);

            for (uint i = startBlock; i <= endBlock; i++)
            {
                if (i > maxBlock)
                {
                    break;
                }

                var response  = api.QueryRPC("getblock", new object[] { i });
                var blockData = response.GetString("result");
                lines.Add(blockData);
            }

            ExportBlocks(chunkID, startBlock, lines);
        }