Categories
Ebooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Computer in the office
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Multimedia trainings
- Real estate
- Persuasion and NLP
- Taxes
- Social policy
- Guides
- Presentations
- Leadership
- Public Relation
- Reports, analyses
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
E-press
- Architektura i wnętrza
- Biznes i Ekonomia
- Home and garden
- E-business
- Finances
- Personal finance
- Business
- Photography
- Computer science
- HR & Payroll
- Computers, Excel
- Accounts
- Culture and literature
- Scientific and academic
- Environmental protection
- Opinion-forming
- Education
- Taxes
- Travelling
- Psychology
- Religion
- Agriculture
- Book and press market
- Transport and Spedition
- Healthand beauty
-
History
-
Computer science
- Office applications
- Data bases
- Bioinformatics
- IT business
- CAD/CAM
- Digital Lifestyle
- DTP
- Electronics
- Digital photography
- Computer graphics
- Games
- Hacking
- Hardware
- IT w ekonomii
- Scientific software package
- School textbooks
- Computer basics
- Programming
- Mobile programming
- Internet servers
- Computer networks
- Start-up
- Operational systems
- Artificial intelligence
- Technology for children
- Webmastering
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Narrative poetry
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
School textbooks
-
Popular science and academic
- Archeology
- Bibliotekoznawstwo
- Cinema studies
- Philology
- Polish philology
- Philosophy
- Finanse i bankowość
- Geography
- Economy
- Trade. World economy
- History and archeology
- History of art and architecture
- Cultural studies
- Linguistics
- Literary studies
- Logistics
- Maths
- Medicine
- Humanities
- Pedagogy
- Educational aids
- Popular science
- Other
- Psychology
- Sociology
- Theatre studies
- Theology
- Economic theories and teachings
- Transport i spedycja
- Physical education
- Zarządzanie i marketing
-
Guides
-
Game guides
-
Professional and specialist guides
-
Law
- Health and Safety
- History
- Road Code. Driving license
- Law studies
- Healthcare
- General. Compendium of knowledge
- Academic textbooks
- Other
- Construction and local law
- Civil law
- Financial law
- Economic law
- Economic and trade law
- Criminal law
- Criminal law. Criminal offenses. Criminology
- International law
- International law
- Health care law
- Educational law
- Tax law
- Labor and social security law
- Public, constitutional and administrative law
- Family and Guardianship Code
- agricultural law
- Social law, labour law
- European Union law
- Industry
- Agricultural and environmental
- Dictionaries and encyclopedia
- Public procurement
- Management
-
Tourist guides and travel
- Africa
- Albums
- Southern America
- North and Central America
- Australia, New Zealand, Oceania
- Austria
- Asia
- Balkans
- Middle East
- Bulgary
- China
- Croatia
- The Czech Republic
- Denmark
- Egipt
- Estonia
- Europe
- France
- Mountains
- Greece
- Spain
- Holand
- Iceland
- Lithuania
- Latvia
- Mapy, Plany miast, Atlasy
- Mini travel guides
- Germany
- Norway
- Active travelling
- Poland
- Portugal
- Other
- Russia
- Romania
- Slovakia
- Slovenia
- Switzerland
- Sweden
- World
- Turkey
- Ukraine
- Hungary
- Great Britain
- Italy
-
Psychology
- Philosophy of life
- Kompetencje psychospołeczne
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Audiobooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Real estate
- Persuasion and NLP
- Taxes
- Guides
- Presentations
- Leadership
- Public Relation
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
History
-
Computer science
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
Popular science and academic
-
Guides
-
Professional and specialist guides
-
Law
-
Tourist guides and travel
-
Psychology
- Philosophy of life
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Videocourses
-
Data bases
-
Big Data
-
Biznes, ekonomia i marketing
-
Cybersecurity
-
Data Science
-
DevOps
-
For children
-
Electronics
-
Graphics/Video/CAX
-
Games
-
Microsoft Office
-
Development tools
-
Programming
-
Personal growth
-
Computer networks
-
Operational systems
-
Software testing
-
Mobile devices
-
UX/UI
-
Web development
-
Management
Podcasts
- Ebooks
- Business and economy
- Bitcoin
- Ethereum dla zaawansowanych. Tworzenie inteligentnych kontraktów i aplikacji zdecentralizowanych
E-book details
Ethereum dla zaawansowanych. Tworzenie inteligentnych kontraktów i aplikacji zdecentralizowanych
Andreas M. Antonopoulos, Gavin Wood
Ethereum to platforma służąca do obsługi kryptowalut. Została zaprojektowana z zachowaniem wysokich standardów bezpieczeństwa i transparentności. Umożliwia uruchamianie zdecentralizowanych aplikacji (DApp) i inteligentnych kontraktów, które nie mają scentralizowanej kontroli ani pojedynczego punktu podatności na awarie i są zintegrowane z siecią obsługi płatności oraz operują na otwartym łańcuchu bloków. Ethereum cieszy się dużym zainteresowaniem takich organizacji jak IBM, Microsoft, NASDAQ, które coraz bardziej angażują się w korzystanie z tej platformy.
Ta książka jest praktycznym poradnikiem i encyklopedycznym źródłem wiedzy o Ethereum przeznaczonym dla programistów, którzy chcą przyswoić praktyczną wiedzę o łańcuchach bloków oraz tworzeniu inteligentnych kontraktów i zdecentralizowanych aplikacji - DApp. Znalazły się tu zarówno podstawowe informacje, jak i szereg zaawansowanych zagadnień związanych z Ethereum. Opisano, w jaki sposób tworzy się w nim transakcje, przedstawiono kwestie związane z kluczem publicznym, skrótami i podpisami cyfrowymi. Poszczególne zagadnienia, a także najlepsze praktyki, wzorce projektowe i antywzorce z obszaru bezpieczeństwa uzupełniono starannie opracowanymi przykładami kodu.
W tej książce między innymi:
- uruchamianie klienta Ethereum
- korzystanie z portfeli cyfrowych
- interakcje z klientami Ethereum za pomocą wywołań RPC
- tokeny reprezentujące aktywa, udziały czy głosy
- budowa zdecentralizowanych aplikacji z użyciem komponentów w modelu P2P
Ethereum: oto nowy wymiar innowacji w programowaniu!
Przedmowa 15
Krótki słownik 25
1. Czym jest Ethereum? 37
- Porównanie do Bitcoina 37
- Komponenty łańcucha bloków 38
- Narodziny Ethereum 39
- Cztery wersje w rozwoju Ethereum 40
- Ethereum - łańcuch bloków o ogólnym przeznaczeniu 41
- Komponenty Ethereum 42
- Lektura dodatkowa 43
- Ethereum i kompletność w sensie Turinga 43
- Kompletność w sensie Turinga jako "pożądana cecha" 44
- Skutki kompletności w sensie Turinga 44
- Od łańcuchów bloków ogólnego użytku do aplikacji DApp 45
- Trzecia era internetu 45
- Kultura rozwoju Ethereum 46
- Dlaczego warto poznać Ethereum? 47
- Czego nauczysz się dzięki tej książce? 47
2. Podstawy Ethereum 49
- Jednostki waluty ether 49
- Wybieranie portfela Ethereum 50
- Kontrola i odpowiedzialność 51
- Rozpoczynanie pracy z portfelem MetaMask 52
- Tworzenie portfela 53
- Zmienianie sieci 55
- Zdobywanie testowych etherów 56
- Wysyłanie etherów z portfela MetaMask 58
- Przeglądanie historii transakcji dla adresu 59
- Wprowadzenie do światowego komputera 60
- Konta EOA i konta kontraktów 61
- Prosty kontrakt - kran z testowymi etherami 61
- Kompilowanie kontraktu Faucet 64
- Tworzenie kontraktu w łańcuchu bloków 66
- Interakcja z kontraktem 67
- Wyświetlanie adresu kontraktu w eksploratorze bloków 68
- Zasilanie kontraktu 68
- Wycofywanie środków z kontraktu 69
- Podsumowanie 72
3. Klienty Ethereum 73
- Sieci Ethereum 74
- Czy powinieneś uruchamiać pełny węzeł? 74
- Wady i zalety pełnych węzłów 75
- Wady i zalety publicznych sieci testowych 75
- Wady i zalety lokalnego symulowania pracy łańcuchów bloków 76
- Uruchamianie klienta Ethereum 77
- Wymagania sprzętowe związane z pełnym węzłem 77
- Wymagania programowe dotyczące budowania i uruchamiania klientów (węzłów) 78
- Klient Parity 79
- Klient Go-Ethereum (Geth) 80
- Pierwsza synchronizacja łańcuchów bloków opartych na Ethereum 82
- Uruchamianie klienta Geth lub Parity 83
- Interfejs JSON-RPC 83
- Zdalne klienty Ethereum 85
- Portfele mobilne (na smartfony) 86
- Portfele działające w przeglądarkach 86
- Podsumowanie 88
4. Kryptografia 89
- Klucze i adresy 89
- Kryptografia klucza publicznego a kryptowaluty 90
- Klucze prywatne 92
- Generowanie klucza prywatnego na podstawie liczby losowej 92
- Klucze publiczne 94
- Kryptografia krzywej eliptycznej 95
- Operacje arytmetyczne na krzywej eliptycznej 97
- Generowanie klucza publicznego 98
- Biblioteki do pracy z krzywą eliptyczną 99
- Kryptograficzne funkcje skrótu 99
- Kryptograficzna funkcja skrótu w Ethereum - Keccak-256 101
- Z której funkcji skrótu korzystasz? 101
- Adresy Ethereum 102
- Formaty adresów Ethereum 102
- Protokół ICAP 103
- Kodowanie szesnastkowe z sumami kontrolnymi opartymi na wielkości liter (EIP-55) 104
- Podsumowanie 106
5. Portfele 107
- Przegląd technologii używanych w portfelach 107
- Portfele niedeterministyczne (losowe) 108
- Portfele deterministyczne (z ziarnem) 110
- Portfele HD (BIP-32 i BIP-44) 110
- Ziarna i kody mnemoniczne (BIP-39) 110
- Zalecane praktyki dotyczące portfeli 112
- Kody mnemoniczne (BIP-39) 112
- Tworzenie portfela HD na podstawie ziarna 118
- Portfele HD (BIP-32) i ścieżki (BIP-43/44) 119
- Podsumowanie 123
6. Transakcje 125
- Struktura transakcji 125
- Wartość nonce w transakcji 126
- Śledzenie wartości nonce 127
- Luki w wartościach nonce, powtarzające się wartości nonce i zatwierdzanie 129
- Współbieżność, źródło transakcji i wartości nonce 130
- Paliwo dla transakcji 131
- Odbiorca transakcji 132
- Wartość i dane transakcji 133
- Przekazywanie środków do kont EOA i kontraktów 135
- Przekazywanie danych do kont EOA lub kontraktów 135
- Specjalne transakcje - tworzenie kontraktu 137
- Podpisy cyfrowe 139
- Algorytm ECDSA 139
- Jak działają podpisy cyfrowe? 140
- Sprawdzanie poprawności podpisu 140
- Obliczenia w algorytmie ECDSA 141
- Podpisywanie transakcji w praktyce 142
- Tworzenie i podpisywanie nieprzetworzonych transakcji 143
- Tworzenie nieprzetworzonych transakcji zgodnych z EIP-155 143
- Przedrostek w podpisie (v) i odzyskiwanie klucza publicznego 144
- Oddzielanie podpisywania od przesyłania (podpisywanie w trybie offline) 145
- Rozsyłanie transakcji 147
- Rejestrowanie danych w łańcuchu bloków 147
- Transakcje z wieloma podpisami 148
- Podsumowanie 148
7. Inteligentne kontrakty i język Solidity 149
- Czym jest inteligentny kontrakt? 149
- Cykl życia inteligentnego kontraktu 150
- Wprowadzenie do wysokopoziomowych języków w Ethereum 151
- Tworzenie inteligentnego kontraktu za pomocą Solidity 153
- Wybieranie wersji języka Solidity 153
- Pobieranie i instalowanie Solidity 154
- Środowisko programistyczne 154
- Pisanie prostego programu w języku Solidity 155
- Kompilowanie przy użyciu kompilatora Solidity (solc) 155
- Interfejs ABI kontraktów w Ethereum 155
- Wybieranie kompilatora Solidity i wersji języka 156
- Programowanie w języku Solidity 157
- Typy danych 157
- Wbudowane zmienne globalne i funkcje 159
- Definicja kontraktu 161
- Funkcje 162
- Konstruktor kontraktu i polecenie selfdestruct 163
- Dodawanie konstruktora i polecenia selfdestruct do kontraktu Faucet 164
- Modyfikatory funkcji 165
- Dziedziczenie kontraktów 166
- Obsługa błędów (assert, require i revert) 168
- Zdarzenia 169
- Wywoływanie innych kontraktów (polecenia send, call, callcode i delegatecall) 172
- Kwestie związane z paliwem 176
- Unikanie tablic o dynamicznie określanej wielkości 177
- Unikanie wywołań innych kontraktów 177
- Szacowanie kosztów paliwa 177
- Podsumowanie 178
8. Inteligentne kontrakty i język Vyper 179
- Luki a Vyper 179
- Porównanie z Solidity 180
- Modyfikatory 180
- Dziedziczenie klas 181
- Wewnątrzwierszowe stosowanie asemblera 181
- Przeciążanie funkcji 182
- Rzutowanie typów zmiennych 182
- Warunki wstępne i końcowe 183
- Dekoratory 184
- Kolejność funkcji i zmiennych 184
- Kompilacja 185
- Ochrona przed błędami przepełnienia na poziomie kompilatora 186
- Odczyt i zapis danych 186
- Podsumowanie 187
9. Bezpieczeństwo inteligentnych kontraktów 189
- Zalecane praktyki z zakresu bezpieczeństwa 189
- Zagrożenia z obszaru bezpieczeństwa i antywzorce 190
- Wielobieżność 190
- Praktyczny przykład - The DAO 194
- Przepełnienie i niedopełnienie arytmetyczne 194
- Przykłady praktyczne - PoWHC i przepełnienie przy transferze zbiorczym (CVE-2018-10299) 198
- Nieoczekiwane ethery 198
- Więcej przykładów 202
- DELEGATECALL 202
- Praktyczny przykład - portfel Parity z wielopodpisem (drugi atak) 206
- Domyślne poziomy widoczności 207
- Praktyczny przykład - portfel Parity z wielopodpisem (pierwszy atak) 208
- Złudzenie losowości 209
- Praktyczny przykład - kontrakty z generatorami liczb pseudolosowych 210
- Korzystanie z zewnętrznych kontraktów 210
- Praktyczny przykład - przynęta i wielobieżność 214
- Atak związany z krótkimi adresami i parametrami 215
- Niesprawdzanie wartości zwracanych przez funkcję call 217
- Przykład praktyczny - kontrakty Etherpot i King of the Ether 218
- Sytuacje wyścigu i front running 219
- Praktyczne przykłady - ERC20 i Bancor 221
- Ataki DoS 221
- Praktyczny przykład - GovernMental 223
- Manipulowanie znacznikiem czasu bloku 224
- Praktyczny przykład - GovernMental 225
- Ostrożnie z konstruktorami 225
- Praktyczny przykład - Rubixi 226
- Niezainicjowane wskaźniki do pamięci trwałej 226
- Praktyczne przykłady - przynęty OpenAddressLottery i CryptoRoulette 228
- Liczby zmiennoprzecinkowe i precyzja 229
- Praktyczny przykład - Ethstick 230
- Uwierzytelnianie z użyciem zmiennej tx.origin 230
- Kontrakty bibliotek 232
- Podsumowanie 233
10. Tokeny 235
- W jaki sposób tokeny są używane? 235
- Tokeny i wymienność 237
- Ryzyko związane z drugą stroną transakcji 237
- Tokeny i nieodłączność (wewnętrzność) 237
- Używanie tokenów - narzędzia czy aktywa 238
- To kaczka! 239
- Tokeny narzędziowe - komu są potrzebne? 239
- Tokeny w Ethereum 240
- Standard ERC20 241
- Tworzenie własnego tokenu ERC20 244
- Problemy z tokenami ERC20 254
- ERC223 - proponowany standard interfejsu kontraktów tokenów 255
- ERC777 - proponowany standard interfejsu kontraktów tokenów 256
- ERC721 - standard niewymiennych tokenów 258
- Stosowanie standardów związanych z tokenami 260
- Czym są standardy dotyczące tokenów? Do czego służą? 260
- Czy powinieneś stosować opisane standardy? 260
- Bezpieczeństwo dzięki dojrzałości 261
- Rozszerzenia standardów dotyczących interfejsów tokenów 261
- Tokeny i emisje ICO 262
- Podsumowanie 263
11. Wyrocznie 265
- Dlaczego potrzebne są wyrocznie? 265
- Przypadki użycia wyroczni i przykłady 266
- Wzorce projektowe dotyczące wyroczni 267
- Uwierzytelnianie danych 270
- Wyrocznie obliczeniowe 271
- Zdecentralizowane wyrocznie 272
- Interfejsy klientów wyroczni w języku Solidity 273
- Podsumowanie 277
12. Zdecentralizowane aplikacje (DApp) 279
- Czym jest aplikacja DApp? 280
- Back-end (inteligentny kontrakt) 281
- Front-end (internetowy interfejs użytkownika) 281
- Przechowywanie danych 282
- Zdecentralizowane protokoły przekazywania komunikatów 282
- Prosta przykładowa aplikacja DApp - Auction 283
- Aplikacja Auction - inteligentne kontrakty back-endu 284
- Aplikacja Auction - front-endowy interfejs użytkownika 287
- Dalsze decentralizowanie aplikacji Auction 288
- Zapisywanie aplikacji Auction w systemie Swarm 289
- Przygotowywanie systemu Swarm 289
- Przesyłanie plików do systemu Swarm 290
- Usługa Ethereum Name Service (ENS) 292
- Historia usługi ENS 292
- Specyfikacja usługi ENS 292
- Dolna warstwa - właściciele nazw i resolwery 293
- Warstwa pośrednia - węzły .eth 295
- Najwyższa warstwa - tokeny deed 296
- Rejestrowanie nazwy 297
- Zarządzanie nazwą w usłudze ENS 300
- Resolwery w usłudze ENS 301
- Tłumaczenie nazwy na skrót w systemie Swarm (treść) 302
- Od tradycyjnych aplikacji do aplikacji DApp 303
- Podsumowanie 304
13. Maszyna wirtualna Ethereum 305
- Czym jest maszyna EVM? 305
- Porównanie z istniejącymi technologiami 307
- Zbiór instrukcji maszyny EVM (operacje w kodzie bajtowym) 307
- Stan w Ethereum 310
- Kompilowanie kodu w języku Solidity do kodu bajtowego maszyny EVM 311
- Kod do instalowania kontraktu 314
- Dezasemblacja kodu bajtowego 315
- Kompletność w sensie Turinga a paliwo 319
- Paliwo 320
- Obliczanie zużycia paliwa w trakcie wykonywania kodu 320
- Uwagi związane z obliczaniem zużycia paliwa 321
- Zużycie paliwa a cena paliwa 321
- Limit paliwa dla bloku 322
- Podsumowanie 323
14. Konsensus 325
- Konsensus oparty na dowodach pracy 326
- Osiąganie konsensusu na podstawie dowodów stawki 326
- Ethash - algorytm dowodów pracy w Ethereum 327
- Casper - algorytm dowodów stawki dla Ethereum 328
- Reguły osiągania konsensusu 329
- Kontrowersje i konkurencja 329
- Podsumowanie 330
A. Historia forków w Ethereum 331
B. Standardy używane w Ethereum 339
C. Kody operacji i zużycie paliwa w maszynie EVM w Ethereum 347
D. Narzędzia programistyczne, platformy i biblioteki 355
E. Biblioteka web3.js - samouczek 373
F. Krótkie odsyłacze 377
Skorowidz 379
- Title: Ethereum dla zaawansowanych. Tworzenie inteligentnych kontraktów i aplikacji zdecentralizowanych
- Author: Andreas M. Antonopoulos, Gavin Wood
- Original title: Mastering Ethereum: Building Smart Contracts and Dapps
- Translation: Tomasz Walczak
- ISBN: 978-83-283-5575-0, 9788328355750
- Date of issue: 2019-09-17
- Format: Ebook
- Item ID: ethzaa
- Publisher: Helion