public DataBlock Build() { BlockType.VerifyNotEmpty($"{nameof(BlockType)} is required"); BlockId.VerifyNotEmpty($"{nameof(BlockId)} is required"); Data.VerifyNotEmpty($"{nameof(Data)} is required"); PrincipleId.VerifyNotEmpty($"{nameof(SetPrincipleId)} is required"); DataBlock dataBlock = new DataBlock { TimeStamp = TimeStamp.ToUnixDate(), BlockType = BlockType, BlockId = BlockId, Data = Data, PrincipleId = PrincipleId, }; return(dataBlock with { Digest = dataBlock.GetDigest() }); }