示例#1
0
        /// <summary>
        /// Returns all the entries in a Chain. Type of entry has timestamp and entryhash value
        /// </summary>
        /// <param name="chainHead">ChainHeadData type</param>
        /// <returns>List of all chain entries</returns>
        public static List <DataStructs.EntryBlockData.EntryData> GetAllChainEntries(DataStructs.ChainHeadData chainHead)
        {
            var block        = Entry.GetEntryBlockByKeyMR(chainHead);
            var blockPointer = block;
            var dataList     = new List <DataStructs.EntryBlockData.EntryData>();

            while (!Bytes.Equality(blockPointer.Header.PrevKeyMr, StaticValues.ZeroHash))
            {
                dataList.AddRange(blockPointer.EntryList); // Add all entries in current MR
                blockPointer = Entry.GetEntryBlockByKeyMR(blockPointer.Header.PrevKeyMr);
            }
            dataList.AddRange(blockPointer.EntryList);
            return(dataList);
        }
示例#2
0
 /// <summary>
 /// Returns an EntryBlock
 /// </summary>
 /// <param name="hash">Chainhead</param>
 /// <returns>EntryBlockData</returns>
 public static DataStructs.EntryBlockData GetEntryBlockByKeyMR(DataStructs.ChainHeadData chainHead)
 {
     return(GetEntryBlockByKeyMR(chainHead.ChainHead));
 }