Язык программирования: Python Для учёбы Нужно программно реализовать взаимодействие между нодами. Как только ноде удаётся сгенерировать новый блок, нужно отправить его остальным нодам сети, и переходить к генерации следующего блока. В то же время, надо учесть, что пока нода подбирает хеш для нового блока, кто-то из соседних нод мог уже добиться успеха в этом, и присылать нам свой блок. В этом случае нужно проверить, что хеш посчитан правильно, и переходить к генерации нового блока, используя полученный в качестве предыдущего (если хеш неправильный или блок произведён от уже устаревшего блока – его нужно игнорировать) Так же нужно следить, чтобы нода не оказалась в minority. Такое возможно, если она пропустила какой-то блок, и пытается генерировать новые блоки от уже устаревшего блока. В это время остальные ноды и блокчейн ушли уже вперёд. Для выхода из такой ситуации, предлагается попросить блоки у своих соседей, проверить их цепочки и использовать “новый“ последний блок для продолжения работы по генерации блоков. В начале работы одна из нод должна сгенерировать первый блок (genesis). Дальше либо эта нода должна оповестить соседей о выпуске блока, либо сами соседи опросят ноду на предмет наличия блока.