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Чи можна довірити бібліотеці свої біткоїни після виконання вправ?+
Самого виконання вправ для такого висновку недостатньо. Автор прямо визначає бібліотеку як навчальний інструмент. Безпечна робота зі справжніми коштами потребує значно ширшої перевірки, зокрема захисту ключів і відновлення з резервних копій; цей огляд її не забезпечує.