654 / 736BK38

Programming Bitcoin

Zrozumieć Bitcoin, samodzielnie pisząc jego elementy

W portfelu naciskasz Wyślij, a resztę wykonuje aplikacja. Programming Bitcoin pyta, co musi się wydarzyć w środku. Jimmy Song prowadzi od małych ćwiczeń programistycznych do zbudowania, podpisania i rozesłania własnej transakcji próbnej.

Programming Bitcoin to książka techniczna Jimmy’ego Songa z 2019 roku. Wyjaśnia Bitcoin za pomocą biblioteki w Pythonie: części programu przeznaczonych do wielokrotnego użytku, które czytelnik stopniowo tworzy sam. To podręcznik dla osób znających podstawy programowania, nie gotowy portfel.

Korzystanie z aplikacji i rozumienie jej działania to różne umiejętności. Song chce przeprowadzić czytelnika od pierwszej do drugiej: zamiast jedynie opisywać Bitcoin, każe pisać i sprawdzać jego elementy. Celem jest zrozumienie, jak zdobyć potrzebne dane, utworzyć transakcję i przekazać ją sieci. Kwestie monetarne i społeczne pozostawia na boku. [3]

Książka ma 14 rozdziałów, które rozwijają wcześniejsze zagadnienia. Zaczyna od matematyki potrzebnej do pracy z kluczami i podpisami. Następnie wprowadza serializację, czyli przekształcanie danych do ściśle określonego formatu przechowywania i przesyłania, a potem transakcje, bloki i komunikację sieciową. Kolejność ma sens: trudniejsze zadania wykorzystują już napisane elementy. [3]

Rozdziały 1–12 zawierają ćwiczenia. Czytelnik modyfikuje pliki Pythona i za pomocą gotowych testów sprawdza, czy rozwiązanie spełnia wymagania zadania. Notebook Jupyter nie oznacza tu laptopa, lecz dokument roboczy, w którym można uruchamiać kod i od razu zobaczyć wynik. Rozwiązania są w dodatku i repozytorium; chodzi o zrozumienie własnego błędu, nie przepisanie poprawnej odpowiedzi. [3]

Ostatnie ćwiczenie programistyczne łączy wcześniejszą pracę: połączyć się z innym węzłem, ustalić dostępne środki, zbudować i podpisać transakcję, a następnie ją rozesłać. Odbywa się to w testnet, oddzielnej sieci do eksperymentów. Plan nauki autora nie oznacza, że sami wykonaliśmy zadanie lub sprawdziliśmy jego działanie w dzisiejszym środowisku. [3]

Biblioteka używa Python 3. Song zaleca średnio zaawansowaną znajomość języka, ale uważa, że wiele pojęć zrozumie również początkujący programista. W matematyce powinny wystarczyć podstawy algebry; nowe narzędzia pojawiają się stopniowo. Jeśli nigdy nie programowałeś, łatwiej zacząć od podstaw Pythona niż jednocześnie poznawać język i protokół Bitcoin. [3]

W końcowym rozdziale Song podkreśla trudność ochrony kluczy prywatnych. Portfel potrzebuje także zrozumiałej obsługi, kopii zapasowych i historii transakcji. Poprawny wynik testu jednej funkcji nie potwierdza zatem bezpieczeństwa całego programu. Biblioteka służy nauce, nie jest pełną ani zoptymalizowaną implementacją; nie można automatycznie uznać jej za rozwiązanie dla prawdziwych środków. [3] [4]

Autor proponuje własny portfel testowy, eksplorator bloków, sklep internetowy albo bibliotekę pomocniczą. W przypadku sklepu radzi zacząć w testnet i używać bezpiecznych bibliotek kryptograficznych. Inną drogą jest udział w otwartych projektach. To pomysły na dalszą naukę, nie aktualnie zweryfikowana lista usług ani obietnica pracy. [4]

O’Reilly podaje luty 2019 roku, README repozytorium autora — marzec 2019 roku. Zachowujemy rozróżnienie między tymi zapisami. Opis opiera się na danych wydawniczych, całej przedmowie i końcowym rozdziale Advanced Topics and Next Steps. Nie jest recenzją całej książki ani testem dołączonego kodu. Tekst internetowy może się zmieniać; przed użyciem dawnych instrukcji instalacji trzeba porównać je z aktualną dokumentacją. [1] [2] [3] [4]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Private Key, Transakcja, Bitcoin Script, Full Node.

01Czy to książka dla zupełnego początkującego?

Dla początkującego w programowaniu dla Bitcoina — tak, o ile zna już podstawy programowania. Przedmowa zakłada przede wszystkim znajomość Pythona i matematyki mniej więcej na poziomie algebry. Osoba chcąca najpierw zrozumieć korzystanie z Bitcoina bez pisania kodu znajdzie prostszą drogę w poradnikach wprowadzających.

02Czy po ćwiczeniach mogę powierzyć bibliotece swoje bitcoiny?

Samo ukończenie ćwiczeń nie wystarcza do takiego wniosku. Autor wyraźnie traktuje bibliotekę jako narzędzie edukacyjne. Bezpieczne operowanie prawdziwymi środkami wymaga znacznie szerszej weryfikacji, w tym ochrony kluczy i odtwarzania z kopii zapasowych; ten opis jej nie zapewnia.

DOC · 001O’Reilly — Programming BitcoinWydawca DOC · 002Programming Bitcoin — official repositoryŹródło pierwotne DOC · 003Programming Bitcoin — PrefaceŹródło pierwotne DOC · 004Programming Bitcoin — Advanced Topics and Next StepsŹródło pierwotne
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna