Exemple #1
0
        public void CreateBlock(CreateBlockModel blockModel)
        {
            var transactions = _unitOfWork.Repository<TransactionEntity>().Set
                                        .Where(x => blockModel.Transactions.Contains(x.Id)).ToList();

            var existedBlock = _unitOfWork.Repository<BlockEntity>().Set.FirstOrDefault(x => x.Hash == blockModel.Hash);

            if (existedBlock != null)
            {
                return;
            }
            _unitOfWork.Repository<BlockEntity>().Insert(new BlockEntity
            {
                BlockState = BlockState.Unverified.ToString(),
                Date = blockModel.Date,
                Hash = blockModel.Hash,
                Miner = blockModel.Miner,
                Nonce = blockModel.Nonce,
                PreviousBlockHash = blockModel.PrevBlockHash,
                Transactions = transactions
            });

            foreach (var trans in transactions)
            {
                trans.State = TransactionState.Verified.ToString();
            }
            _unitOfWork.SaveChanges();
        }
Exemple #2
0
 public IActionResult CreateBlock([FromBody] CreateBlockModel blockModel)
 {
     _blockService.CreateBlock(blockModel);
     return(Ok());
 }
Exemple #3
0
        public void CreateBlock(CreateBlockModel blockModel)
        {
            var content = new StringContent(GenerateJsonData(blockModel), Encoding.UTF8, "application/json");

            _httpClient.PostAsync($"{_url}/blocks/create", content).Wait();
        }