Example #1
0
        public Chain()
        {
            var fromPerson = new Person()
            {
                Name          = "GenesisFrom",
                Surname       = "GenesisFromSur",
                Password      = "******",
                AccountNumber = "GenesisFromNumber"
            };

            var toPerson = new Person()
            {
                Name          = "GenesisTo",
                Surname       = "GenesisToSur",
                Password      = "******",
                AccountNumber = "GenesisToNumber"
            };

            var genesisData = new BlockDataModel()
            {
                TransactionTime = DateTime.Now,
                FromPerson      = fromPerson,
                ToPerson        = toPerson,
                Amount          = 0
            };
            var genesisBlock = new Block(0, DateTime.Now, genesisData,
                                         "816534932c2b7154836da6afc367695e6337db8a921823784c14378abed4f7d7");

            blocks = new List <Block> {
                genesisBlock
            };
        }
Example #2
0
 public Block(int index, DateTime timeStamp, BlockDataModel data, string previousHash)
 {
     this.index        = index;
     this.timeStamp    = timeStamp;
     this.previousHash = previousHash;
     this.data         = data;
     using (SHA256 sha256Hash = SHA256.Create())
     {
         hash = Hashier.GetHash(sha256Hash, data);
     }
 }
Example #3
0
        public static string GetHash(HashAlgorithm hashAlgorithm, BlockDataModel data)
        {
            byte[] byteData = hashAlgorithm.ComputeHash(Encoding.UTF8.GetBytes(data.ToString()));

            var sBuilder = new StringBuilder();

            for (int i = 0; i < byteData.Length; i++)
            {
                sBuilder.Append(byteData[i].ToString("x2"));
            }

            return(sBuilder.ToString());
        }
Example #4
0
        public string GenerateBlockdata()
        {
            var generateJson = BlockDataModel.GenerateJson(false);

            if (generateJson.Length == 1)
            {
                generateJson = string.Empty;
            }
            else
            {
                generateJson  = generateJson.Remove(generateJson.Length - 1, 1);
                generateJson += "}";
            }

            return(string.Format("/blockdata {0} {1} {2} {3}", BlockDataX, BlockDataY, BlockDataZ, generateJson));
        }
Example #5
0
        public static string GetHash(HashAlgorithm hashAlgorithm, int index, DateTime timeStamp, BlockDataModel data, string previousHash, int nonce)
        {
            byte[] byteData = hashAlgorithm.ComputeHash(Encoding.UTF8.GetBytes(index.ToString() + previousHash + data.ToString() + timeStamp.ToString() + nonce.ToString()));

            var sBuilder = new StringBuilder();

            for (int i = 0; i < byteData.Length; i++)
            {
                sBuilder.Append(byteData[i].ToString("x2"));
            }

            return(sBuilder.ToString());
        }