654 / 736BK38

Programming Bitcoin

Понять Bitcoin, самостоятельно написав его компоненты

В кошельке вы нажимаете «Отправить», а остальное делает приложение. Programming Bitcoin спрашивает, что именно должно произойти внутри. Jimmy Song ведёт читателя от небольших задач по программированию до создания, подписания и отправки собственной пробной транзакции.

Programming Bitcoin — техническая книга Jimmy Song, вышедшая в 2019 году. Она объясняет Bitcoin через библиотеку на Python: набор повторно используемых частей программы, которые читатель постепенно создаёт сам. Это учебник для людей с основами программирования, а не готовый кошелёк.

Пользоваться приложением и понимать его устройство — разные навыки. Song хочет провести читателя от первого ко второму: вместо одного лишь описания Bitcoin предлагает написать и проверить его компоненты. Цель — понять, как получить нужные данные, создать транзакцию и передать её сети. Денежные и общественные вопросы остаются за рамками книги. [3]

В книге 14 глав, последовательно опирающихся друг на друга. Она начинается с математики, необходимой для работы с ключами и подписями. Далее идёт сериализация — преобразование данных в точный формат хранения и передачи, а затем транзакции, блоки и сетевое взаимодействие. Порядок не случаен: более сложные задачи используют уже созданные части. [3]

Главы 1–12 содержат упражнения. Читатель меняет файлы Python и с помощью готовых тестов проверяет, соответствует ли решение заданию. Jupyter notebook здесь — не переносной компьютер, а рабочий документ, в котором можно выполнять код и сразу видеть результат. Решения есть в приложении и репозитории; смысл в том, чтобы понять свою ошибку, а не просто переписать правильный ответ. [3]

Последнее упражнение по программированию объединяет предыдущую работу: подключиться к другому узлу, определить доступные средства, создать и подписать транзакцию, затем распространить её. Всё происходит в testnet — отдельной сети для экспериментов. Этот учебный план автора не означает, что мы сами выполнили упражнение или проверили его работу в современной среде. [3]

Библиотека использует Python 3. Song рекомендует средний уровень владения языком, но считает многие понятия доступными и начинающему программисту. Для математики должно хватить основ алгебры; новые инструменты вводятся постепенно. Если вы никогда не программировали, проще сначала освоить основы Python, чем одновременно изучать язык и протокол Bitcoin. [3]

В последней главе Song подчёркивает сложность защиты приватных ключей. Кошельку нужны также понятное управление, резервные копии и история транзакций. Успешный тест отдельной функции поэтому не подтверждает безопасность всей программы. Библиотека создана для обучения, а не как полная или оптимизированная реализация; нельзя автоматически считать её подходящей для настоящих средств. [3] [4]

Автор предлагает создать тестовый кошелёк, обозреватель блоков, интернет-магазин или вспомогательную библиотеку. Для магазина он советует начать с testnet и использовать безопасные криптографические библиотеки. Другой путь — участие в открытых проектах. Это идеи для дальнейшей учёбы, а не актуально проверенный список сервисов или обещание работы. [4]

O’Reilly указывает февраль 2019 года, а README репозитория автора — март 2019 года. Мы сохраняем различие между записями. Обзор основан на издательских данных, полном предисловии и заключительной главе Advanced Topics and Next Steps. Это не рецензия на всю книгу и не тест её кода. Онлайн-текст может меняться; старые инструкции по установке нужно сверять с актуальной документацией перед применением. [1] [2] [3] [4]

Для полной картины прочитайте эту статью вместе с Private Key, Транзакция, Bitcoin Script, Full Node.

01Подойдёт ли книга полному новичку?

Новичку в разработке для Bitcoin — да, если у него уже есть основы программирования. Предисловие предполагает прежде всего знание Python и математики примерно на уровне алгебры. Тем, кто хочет сначала понять использование Bitcoin без написания кода, проще начать со вводных руководств.

02Можно ли доверить библиотеке свои биткоины после упражнений?

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

DOC · 001O’Reilly — Programming BitcoinИздатель DOC · 002Programming Bitcoin — official repositoryПервичный источник DOC · 003Programming Bitcoin — PrefaceПервичный источник DOC · 004Programming Bitcoin — Advanced Topics and Next StepsПервичный источник
Обновлено: Сначала источники · Не является инвестиционной рекомендацией