コード例 #1
0
ファイル: MBlock.cs プロジェクト: lvtao2415/Materal
 /// <summary>
 /// 构造一个新的区块
 /// </summary>
 /// <param name="lastBlock"></param>
 /// <param name="data"></param>
 public MBlock(MBlock lastBlock, object data)
 {
     Index     = lastBlock.Index + 1;
     TimeStamp = DateTimeManager.GetTimeStamp();
     Data      = data.ToJson();
     PrevHash  = lastBlock.Hash;
     Hash      = GetHash();
 }
コード例 #2
0
ファイル: MBlock.cs プロジェクト: lvtao2415/Materal
        /// <summary>
        /// 从Json生成
        /// </summary>
        /// <param name="jsonData"></param>
        /// <returns></returns>
        public static MBlock FormJson(string jsonData)
        {
            var block = new MBlock();

            JsonConvert.PopulateObject(jsonData, block);
            if (block.Hash != block.GetHash())
            {
                return(null);
            }
            return(block);
        }
コード例 #3
0
ファイル: MBlock.cs プロジェクト: lvtao2415/Materal
 /// <summary>
 /// 是否为下一个区块
 /// </summary>
 /// <param name="nextBlock"></param>
 /// <returns></returns>
 public bool IsNextBlock(MBlock nextBlock)
 {
     if (Index != nextBlock.Index - 1)
     {
         return(false);
     }
     if (Hash != nextBlock.PrevHash)
     {
         return(false);
     }
     if (nextBlock.GetHash() != nextBlock.Hash)
     {
         return(false);
     }
     return(true);
 }