Как начать изучение кода любой криптовалюты? - PullRequest
0 голосов
/ 28 ноября 2018

Я хочу узнать о коде криптовалюты со всеми его функциями, включая POS и функции главного узла, в настоящее время у меня есть XSN-код (монета кол-сети), и я хочу его изучить, чтобы использовать его для изучения различныхособенности блокчейна.Нет никакой цели клонировать это или что-нибудь.Как мне начать изучать это?Я имею в виду, с какого файла я должен начать изучать код.Я изучил основы c ++, но, к сожалению, я не так хорош с c ++.Так из какого файла я должен начать изучать его, есть много .cpp и заголовочных файлов.Есть ли у кого-нибудь такой же опыт в изучении?

1 Ответ

0 голосов
/ 30 ноября 2018

Ну, вы не должны начинать учиться с просмотра чужого исходного кода.Единственный реальный способ узнать о программировании блокчейна - это взять отдельные проблемы и попытаться реализовать их самостоятельно в минимальных примерах.

Вы можете начать с кодирования каждого из них по отдельности в своем собственном примере приложения:

  • Структуры данных блокчейна и их сериализация (сеть / диск)
  • Хранение данных блока в циклическом двоичном двоичном файле на диске, содержащем сериализованные блоки, и в то же время наличие некоторой индексированной базы данных для поискаup хэши блоков и получение их дисковой позиции блока, когда блок должен быть «загружен» в память.
  • Сетевой компонент P2P, где вы организуете свою неструктурированную среду P2P при условии, что большинство узлов будет иметьограничить входящее сокетное соединение или быть за NAT
  • . В этом же контексте вы можете изучить асинхронное сетевое программирование и узнать, как правильно это сделать с помощью select () / epoll ()
  • Доказательство работымеханизм масштабирования, который приходит с хешемцелевое значение в зависимости от времени, которое потребовалось для последних X блоков
  • соединитель "доминирующей цепочки", где "преобладающая" цепочка выбирается из множества кандидатов на множественные цепочки (разветвление)

Когда вы закончите понимать эти первые простые строительные блоки, вы можете подумать о следующем шаге;фактические функции блокчейна, такие как поддержание баланса и перевод монет.

...