Пример #1
0
    public void saveCoins(CoinTransactions trans, int value)
    {
        switch (trans)
        {
        case CoinTransactions.pay:
            globalCoins -= value;
            break;

        case CoinTransactions.add:
            value        = (int)(value * moneyRatio);
            globalCoins += value;
            break;

        case CoinTransactions.none:
            globalCoins += 0;
            break;

        default:
            break;
        }

        getCurrentCoins();
        PlayerPrefs.SetInt("myCoins", globalCoins);
        PlayerPrefs.Save();
    }
Пример #2
0
 public void AddTransaction(Dictionary <String, TransactionOutput> utxos, CoinTransaction coinTransaction)
 {
     if (PreviousHash != "0")
     {
         if (!coinTransaction.ProcessTransaction(utxos))
         {
             throw new Exception();
         }
     }
     CoinTransactions.Add(coinTransaction);
 }
Пример #3
0
        public void MineBlock(int difficulty)
        {
            MerkleRoot = CoinTransactions.GenerateMerkleRoot();
            var target = string.Empty.PadLeft(difficulty, '0');

            while (Hash.Substring(0, difficulty) != target)
            {
                Nonce++;
                Hash = CalculateHash();
            }
            Console.WriteLine($"Block Mined - {Hash}");
        }