public async Task Send(NodePayload nodePayload) { var updatedBlockchain = _blockchainLogic.ResolveBlockchain(nodePayload); // Broadcast the updated blockchain to all users and who created it and at what time await Clients.All.SendAsync("SendMessage", updatedBlockchain, nodePayload.NewBlock.Name, nodePayload.NewBlock.Date); }
public void ResolveBlock(NodePayload nodePayload) { if (!ValidateBlock(nodePayload.NewBlock, nodePayload.Blockchain.Last())) { throw new InvalidDataException("Validation of block returned invalid!"); } }
public List <Block> ResolveBlockchain(NodePayload nodePayload) { // Resolve the new block _blockLogic.ResolveBlock(nodePayload); // Add the new block to the chain nodePayload.Blockchain.Add(nodePayload.NewBlock); // Return the updated blockchain return(nodePayload.Blockchain); }