Реализуем свой Bitcoin на языке программирования Python

0
15366
Добавить в избранное

Электронная валюта уже ни для кого не новость, а вот собственная реализация валюты на Python обещает быть интересной. Создаем новый Bitcoin.

Как же создать новый Bitcoin, и что для этого нужно – рассмотрим в этой статье.

Простая монета (SimpleCoin) – простая, небезопасная и не до конца реализованная версия блокчейн криптовалюты на Python. Основной задумкой проекта была идея реализовать максимально похожую, простую и рабочую версию Bitcoin. Если вы тоже хотите создать что-то свое, вам стоит обратиться к Bitcoin Repository.

Вступление

Понятие блокчейн уже не раз рассматривалось, но повторение – мать учения. Блокчейн – это база транзакций, совместно используемая всеми узлами, участвующими в системе на основе биткойн-протокола. Полная копия цепочки блоков валюты содержит каждую транзакцию, когда-либо выполняемую в валюте. С помощью этой информации можно узнать, какое значение принадлежит каждому адресу в любой точке истории.

С чего начать?

Первое, что необходимо сделать, – установить requirements.txt.

Новый bitcoin. НачалоВ проекте должен быть файл конфига miner_config.py с таким содержимым:

Далее два важных шага:

  • Запустить miner.py, чтобы создать ноду и начать майнить;
  • запустить wallet.py, чтобы стать пользователем и отправлять транзакциии (для этого нужно также запустить miner.py).

Важное замечание: не запускайте майнер в среде разработке Python, а только в консоли, т. к. он использует параллельные процессы, которые не работают в IDL-e.

Как это работает?

Самый важный файл в этом проекте – miner.py. Запустив его, вы создаете сервер, который подключается к блокчейну и обрабатывает транзакции (которые отправляют пользователи) путем майнинга. За это вы получаете несколько монет. Чем больше нод создается, тем безопаснее становится вся цепочка.

Новый bitcoin. Как это работает

miner.py запускает 2 параллельных процесса:

  • первый следит за добычей, обновляет цепочки и создает отчеты о работе;
  • второй запускает сервер, к которому могут подключаться пиры и пользователи для запроса всей цепочки, отправки транзакций и прочего.

wallet.py используется для пользователей. Запуск этого файла позволит вам генерировать новые адреса, отправлять монеты и проверять историю транзакций. Помните, что если вы его запускаете на локальном сервере, вам нужен процесс miner.py.

Новый bitcoin. Заключение

Заключение

Автор призывает участвовать всех желающих в этом проекте. Главная задача – упрощение кода и повышение его читабельности. Перевод на русский осуществлен Библиотекой Программиста.

Оригинал

Другие материалы по теме:

Интересуетесь блокчейном?

Подпишитесь на нашу рассылку, чтобы получать больше интересных материалов:

И не беспокойтесь, мы тоже не любим спам. Отписаться можно в любое время.




Добавить комментарий