/// <summary> /// Add a block to the chain /// </summary> /// <param name="block">Block.</param> public void AddBlock(Block <TData> block) { var currentNode = Chains.Last(); var acceptable = dataContract.IsValid(block.Data) && blockContract.IsValid(currentNode, block); if (acceptable) { Chains.Add(block); BroadCastNewBlockEvent(block.Index); } }