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.