Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public void ResolveBlock(NodePayload nodePayload)
 {
     if (!ValidateBlock(nodePayload.NewBlock, nodePayload.Blockchain.Last()))
     {
         throw new InvalidDataException("Validation of block returned invalid!");
     }
 }
Exemplo n.º 3
0
        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);
        }