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(); }
public IActionResult CreateBlock([FromBody] CreateBlockModel blockModel) { _blockService.CreateBlock(blockModel); return(Ok()); }
public void CreateBlock(CreateBlockModel blockModel) { var content = new StringContent(GenerateJsonData(blockModel), Encoding.UTF8, "application/json"); _httpClient.PostAsync($"{_url}/blocks/create", content).Wait(); }