654 / 736BK38

Programming Bitcoin

Jimmy Song: porozumění Bitcoinu psaním kódu

Programming Bitcoin vede programátory k pochopení Bitcoinu postupným vytvářením vlastní knihovny v Pythonu. Jimmy Song staví výuku na cvičeních a připravených testech. Cílem knihovny je učení; autor ji neprezentuje jako úplnou ani výkonnostně optimalizovanou implementaci.

Technická kniha Jimmyho Songa vydaná nakladatelstvím O’Reilly v roce 2019. Tento přehled vychází z celé předmluvy a závěrečné kapitoly Advanced Topics and Next Steps v oficiálním repozitáři, z prohlédnutých ilustrací předmluvy a z vydavatelských údajů.

Programming Bitcoin napsal Jimmy Song. Katalog O’Reilly uvádí únor 2019; README v autorově repozitáři uvádí březen 2019. Oba údaje zachováváme odděleně. Veřejný repozitář poskytuje texty a doprovodné soubory, ale jeho průběžně měněná větev nemusí být totožná s konkrétním tištěným výtiskem. [1] [2]

Předmluva vymezuje cíl jasně: pochopit techniku Bitcoinu tím, že čtenář napíše součásti knihovny sám. Nejde o rozbor měnových, ekonomických nebo společenských dopadů. Autor zároveň říká, že knihovna nemá být úplná ani efektivní a kniha není referenční příručkou ke specifikaci každé funkce. [3]

Předpokladem je znalost programování, zejména Pythonu; knihovna používá Python 3. Autor preferuje středně pokročilou úroveň, ale i začátečník může podle něj pochopit řadu konceptů. Pro matematické části očekává přibližně znalost algebry a nové pojmy zavádí postupně. Nejde tedy o úvod bez jakýchkoli technických předpokladů. [3]

Předmluva popisuje 14 kapitol jako navazující stavbu: matematické základy a serializace, transakce, bloky a síťová komunikace. Kapitoly 1–12 obsahují programovací cvičení. Jejich vyústěním je úloha na testnetu, v níž čtenář získá data od uzlu, sestaví a podepíše transakci a odešle ji do sítě. Tento plán výuky nezaměňujeme za naše vlastní splnění úloh. [3]

V popsaném postupu čtenář pracuje s notebooky Jupyter a upravuje související soubory v Pythonu tak, aby prošly předem připravenými testy. Řešení jsou dostupná v dodatku i v adresářích jednotlivých kapitol. Prohlédli jsme ilustrace tohoto postupu; samotná četba a obrázky nedokládají, že jsme cvičení spustili nebo ověřili jejich dnešní prostředí. [3]

Závěrečná kapitola navrhuje jako další studium peněženky a zdůrazňuje obtížnost ochrany soukromých klíčů. U projektu testovací peněženky připomíná také uživatelské rozhraní, zálohy, adresář a historii transakcí. Znalost podpisu tak sama nepokrývá celý návrh aplikace; návrhy jsou dalšími učebními kroky, ne hotovou bezpečnou peněženkou. [4]

Autor doporučuje přispívat do otevřených projektů a uvádí náměty, například průzkumník bloků, webový obchod nebo pomocnou knihovnu. U obchodu radí začít na testnetu a použít bezpečné kryptografické knihovny. Tato kapitola ukazuje směr dalšího studia; její dobový seznam projektů a pracovní rady nepřebíráme jako aktuální prověrku služeb či záruku zaměstnání. [4]

Přečetli jsme celou předmluvu a celou kapitolu Advanced Topics and Next Steps v oficiálním repozitáři a prohlédli všechny čtyři obrázky předmluvy. Ověřili jsme katalog vydavatele a README. Ostatní kapitoly ani doprovodný kód jsme celé neověřili a žádná knižní cvičení nespouštěli; nejde o úplnou recenzi ani bezpečnostní audit knihovny. [1] [2] [3] [4]

Pro nejúplnější obraz čtěte toto heslo společně s Private Key, Transakce, Bitcoin Script, Full Node.

01Potřebuji před čtením umět programovat?

Ano, předmluva předpokládá znalost programování, zejména Pythonu. Autor preferuje středně pokročilou úroveň, ale uvádí, že i základní znalosti mohou stačit k pochopení mnoha konceptů.

02Je knihovna z knihy hotovým řešením pro skutečné prostředky?

Autor ji v předmluvě vymezuje jako nástroj pro učení, nikoli jako úplnou nebo efektivní knihovnu. My jsme její kód ani knižní cvičení nespouštěli a tento přehled nepotvrzuje bezpečnost pro práci se skutečnými prostředky.

DOC · 001O’Reilly — Programming BitcoinVydavatel DOC · 002Programming Bitcoin — official repositoryPrimární zdroj DOC · 003Programming Bitcoin — PrefacePrimární zdroj DOC · 004Programming Bitcoin — Advanced Topics and Next StepsPrimární zdroj
Revidováno: Primární zdroje · Nejde o investiční doporučení