Example #1
0
        /// <summary>
        /// Writes the blockchain to a stream in a way that the
        /// <see cref="ReadFrom"/> method can extract it sensibly.
        /// </summary>
        public static void WriteTo(BinaryWriter writer, SimpleBlockchain chain)
        {
            writer.Write(chain.CommittedBlockCount);
            foreach (var block in chain.GetCommitted())
            {
                block.BlockId.WriteTo(writer);
                writer.Write(block.Alias.Value);
                writer.Write(block.Parent.Value);
            }

            writer.Write(chain.UncommittedBlockCount);
            foreach (var block in chain.GetUncommitted())
            {
                block.BlockId.WriteTo(writer);
                writer.Write(block.Alias.Value);
                writer.Write(block.Parent.Value);
            }
        }