Blockchain für Entwickler

Inhaltsverzeichnis



  Materialien zum Buch ... 16

  1.  Vorwort ... 17

       1.1 ... Vorwort der Autoren ... 17

       1.2 ... Geleitwort ... 19

  2.  Einführung ... 21

       2.1 ... Was ist die Blockchain? ... 21

       2.2 ... Geschichte der Blockchain ... 29

       2.3 ... Anwendung der Blockchain-Technologie ... 43

       2.4 ... Zusammenfassung ... 65

  3.  Die Basics: So funktioniert eine Blockchain ... 67

       3.1 ... Kryptografische Grundlagen ... 67

       3.2 ... Die Blockchain ... 80

       3.3 ... Die Blockchain 2.0 ... 112

       3.4 ... Alternative Konsensmodelle ... 144

       3.5 ... Sicherheit der Blockchain ... 153

       3.6 ... Zusammenfassung ... 164

  4.  Eine eigene Blockchain erstellen -- Grundfunktionen ... 167

       4.1 ... Transaktionen -- die kleinste Einheit ... 169

       4.2 ... Blockheader -- der Inhalt der Block-ID ... 171

       4.3 ... Die Blöcke verketten ... 173

       4.4 ... Die Blockchain auf die Festplatte speichern ... 175

       4.5 ... Der Genesis Block -- die Entstehung einer Blockchain ... 177

       4.6 ... Ausstehende Transaktionen ... 178

       4.7 ... Die Difficulty einer Blockchain ... 180

       4.8 ... Zeit zu schürfen -- der Miner Thread ... 182

       4.9 ... Zusammenfassung und Ausblick ... 186

  5.  Die Blockchain an eine Web-API anbinden ... 189

       5.1 ... Die Service-Endpunkte der Web-API ... 190

       5.2 ... Deployment der Web-API ... 196

       5.3 ... Transaktionen per Webinterface versenden ... 200

       5.4 ... Einen eigenen Block-Explorer implementieren ... 204

       5.5 ... Zusammenfassung und Ausblick ... 211

  6.  Ein Peer-to-Peer-Netzwerk aufbauen ... 215

       6.1 ... Das Peer-to-Peer-Framework konfigurieren ... 216

       6.2 ... Transaktionen im Netzwerk verteilen ... 219

       6.3 ... Blöcke im Netzwerk verteilen ... 222

       6.4 ... Mehrere Chains parallel verarbeiten ... 224

       6.5 ... Neue Knoten im Netzwerk aufnehmen ... 228

       6.6 ... Zusammenfassung und Ausblick ... 231

  7.  Accounts und Guthaben einführen ... 233

       7.1 ... Die Miner belohnen ... 234

       7.2 ... Die Accounts verwalten ... 238

       7.3 ... Die Accounts integrieren ... 242

       7.4 ... Die Accounts im Block-Explorer einbinden ... 243

       7.5 ... Zusammenfassung und Ausblick ... 249

  8.  Verifikation und Optimierungen umsetzen ... 251

       8.1 ... Transaktionen signieren ... 251

       8.2 ... Die Rahmenbedingungen erzwingen ... 255

       8.3 ... Guthaben sperren und entsperren ... 257

       8.4 ... Mit dem Merkle-Baum die Performance optimieren ... 260

       8.5 ... Den Public Key verkürzen zum Sparen von Speicher ... 263

       8.6 ... Startguthaben über den Genesis Block ermöglichen ... 264

       8.7 ... Weitere Optimierungen bedenken ... 265

       8.8 ... Zusammenfassung und Ausblick ... 267

  9.  Smart Contract Development ... 269

       9.1 ... Einführung ... 270

       9.2 ... Einfache Smart Contracts bei Bitcoin ... 272

       9.3 ... Anspruchsvolle Smart Contracts ... 280

       9.4 ... Zusammenfassung ... 283

10.  Solidity -- Die Grundlagen verstehen ... 285

       10.1 ... Was ist Solidity? ... 285

       10.2 ... Elemente und Speicherbereiche eines Contracts ... 291

       10.3 ... Verfügbare Datentypen ... 300

       10.4 ... Zusätzliche Features von Solidity ... 312

       10.5 ... Vererbungshierarchien von Smart Contracts erstellen ... 314

       10.6 ... Libraries erstellen und verwenden ... 317

       10.7 ... Zusammenfassung und Ausblick ... 321

11.  Solidity -- Details und Herausforderungen ... 325

       11.1 ... Wichtige Details zu Funktionen ... 326

       11.2 ... Gas verstehen und optimieren ... 330

       11.3 ... Den richtigen Exception-Mechanismus wählen ... 333

       11.4 ... Solidity mit Assembly erweitern ... 335

       11.5 ... Leicht verständliche Contracts entwickeln ... 341

       11.6 ... Updatefähige Contracts entwickeln ... 343

       11.7 ... Warum kein Zufallsgenerator sicher ist ... 354

       11.8 ... Daten von außerhalb der Blockchain vertrauen ... 356

       11.9 ... Zeitabhängigkeiten einbauen ... 357

       11.10 ... Zusammenfassung und Ausblick ... 359

12.  Smart Contracts testen und debuggen ... 363

       12.1 ... Contracts mit Remix testen ... 364

       12.2 ... Debugging mit Remix ... 366

       12.3 ... Einführung in das Truffle Framework ... 368

       12.4 ... Unittests mit Truffle implementieren ... 372

       12.5 ... Integrationstests mit Truffle implementieren ... 377

       12.6 ... Mit dem Truffle Framework debuggen ... 381

       12.7 ... Zusammenfassung und Ausblick ... 382

13.  Smart Contracts schützen und absichern ... 385

       13.1 ... Allgemeine Sicherheitsempfehlungen ... 385

       13.2 ... Ether in Contracts schmuggeln ... 388

       13.3 ... Arithmetische Overflows und Underflows ... 391

       13.4 ... Mit DelegateCalls den Zustand manipulieren ... 393

       13.5 ... Reentrancy-Angriffe durchführen ... 396

       13.6 ... Denial-of-Service-Angriffe durchführen ... 399

       13.7 ... Gas-Siphoning-Angriffe beachten ... 401

       13.8 ... Zusammenfassung und Ausblick ... 404

14.  Smart Contracts deployen und managen ... 407

       14.1 ... MetaMask einrichten und Accounts verwenden ... 408

       14.2 ... Contracts mit Remix und MetaMask deployen ... 409

       14.3 ... Contracts mit dem Truffle Framework deployen ... 411

       14.4 ... Code auf Etherscan veröffentlichen ... 418

       14.5 ... Einen eigenen Knoten aufsetzen und verwenden ... 420

       14.6 ... Contracts manuell kompilieren, linken und deployen ... 422

       14.7 ... Contracts nach dem Deployment managen ... 424

       14.8 ... Zusammenfassung und Ausblick ... 426

15.  Standards, Libraries und Design Patterns ... 429

       15.1 ... ERC-173 Contract Ownership Standard ... 429

       15.2 ... ERC-165 Standard Interface Detection ... 432

       15.3 ... ERC-20 Token Standard ... 436

       15.4 ... ERC-721 Non-Fungible Token Standard ... 440

       15.5 ... Die Libraries von OpenZeppelin nutzen ... 445

       15.6 ... Design Patterns verwenden ... 446

       15.7 ... Zusammenfassung und Ausblick ... 450

16.  Decentralized Applications entwickeln ... 453

       16.1 ... Was ist eine Decentralized Application? ... 453

       16.2 ... Der Entwicklungsprozess einer DApp ... 455

       16.3 ... Das Backend Ihrer ersten DApp entwickeln ... 457

       16.4 ... Das Frontend Ihrer ersten DApp entwickeln ... 460

       16.5 ... Ihre erste DApp auf Swarm deployen ... 463

       16.6 ... ENS-Domains für die eigene DApp einrichten ... 467

       16.7 ... Zusammenfassung und Ausblick ... 471

17.  Ihre erste DApp mit Drizzle zur DAO erweitern ... 475

       17.1 ... Was ist Drizzle? ... 476

       17.2 ... Was ist eine DAO, und was wird benötigt? ... 478

       17.3 ... Die DApp, um einen Governance Contract erweitern ... 479

       17.4 ... Das Frontend mit Drizzle und React umsetzen ... 480

       17.5 ... Die Drizzle-DApp zentral oder dezentral deployen ... 492

       17.6 ... Zusammenfassung und Ausblick ... 494

18.  Dezentrale Autonome Initiale Coin Offerings umsetzen ... 497

       18.1 ... Was ist ein DAICO? ... 497

       18.2 ... Die Contracts eines DAICO implementieren ... 501

       18.3 ... Die passende DApp zu Ihrem DAICO entwerfen ... 510

       18.4 ... Zusammenfassung und Ausblick ... 517

19.  Supply Chains mit Smart Contracts ergänzen ... 519

       19.1 ... Ideen, Visionen und Problemlösungen ... 520

       19.2 ... Assets mit dem ERC-721 Token Standard tracken ... 521

       19.3 ... web3j: die Web3 Java Ethereum DApp API ... 522

       19.4 ... Ein Command Line Interface für Asset Tracker bauen ... 527

       19.5 ... Zusammenfassung und Ausblick ... 532

20.  Ausblick: Zukunftstechnologien ... 535

       20.1 ... Vyper -- Smart Contracts für jedermann? ... 535

       20.2 ... NEO -- der chinesische Klon von Ethereum ... 539

       20.3 ... EOS -- der stärkste Wettbewerber zu Ethereum? ... 541

       20.4 ... Ripple -- die Zukunft der Banken? ... 544

       20.5 ... IOTA -- das dezentrale Internet der Dinge ... 548

       20.6 ... Zusammenfassung ... 554

  Literaturverzeichnis ... 557

  Index ... 559

Blockchain für Entwickler

Das Handbuch für Software Engineers. Grundlagen, Programmierung, Anwendung. Mit vielen Praxisbeispielen

Buch (Gebundene Ausgabe)

39,90 €

inkl. gesetzl. MwSt.

Blockchain für Entwickler

Ebenfalls verfügbar als:

Gebundenes Buch

Gebundenes Buch

ab 39,90 €
eBook

eBook

ab 39,90 €

Beschreibung

Details

Einband

Gebundene Ausgabe

Erscheinungsdatum

28.02.2019

Verlag

Rheinwerk

Seitenzahl

565

Maße (L/B/H)

25,1/18,5/3,8 cm

Beschreibung

Details

Einband

Gebundene Ausgabe

Erscheinungsdatum

28.02.2019

Verlag

Rheinwerk

Seitenzahl

565

Maße (L/B/H)

25,1/18,5/3,8 cm

Gewicht

1172 g

Auflage

1

Reihe

Rheinwerk Computing

Sprache

Deutsch

ISBN

978-3-8362-6390-0

Das meinen unsere Kund*innen

0.0

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Kund*innenkonto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Erste Bewertung verfassen

Unsere Kund*innen meinen

0.0

0 Bewertungen filtern

Weitere Artikel finden Sie in

Die Leseprobe wird geladen.
  • Blockchain für Entwickler


  •   Materialien zum Buch ... 16

      1.  Vorwort ... 17

           1.1 ... Vorwort der Autoren ... 17

           1.2 ... Geleitwort ... 19

      2.  Einführung ... 21

           2.1 ... Was ist die Blockchain? ... 21

           2.2 ... Geschichte der Blockchain ... 29

           2.3 ... Anwendung der Blockchain-Technologie ... 43

           2.4 ... Zusammenfassung ... 65

      3.  Die Basics: So funktioniert eine Blockchain ... 67

           3.1 ... Kryptografische Grundlagen ... 67

           3.2 ... Die Blockchain ... 80

           3.3 ... Die Blockchain 2.0 ... 112

           3.4 ... Alternative Konsensmodelle ... 144

           3.5 ... Sicherheit der Blockchain ... 153

           3.6 ... Zusammenfassung ... 164

      4.  Eine eigene Blockchain erstellen -- Grundfunktionen ... 167

           4.1 ... Transaktionen -- die kleinste Einheit ... 169

           4.2 ... Blockheader -- der Inhalt der Block-ID ... 171

           4.3 ... Die Blöcke verketten ... 173

           4.4 ... Die Blockchain auf die Festplatte speichern ... 175

           4.5 ... Der Genesis Block -- die Entstehung einer Blockchain ... 177

           4.6 ... Ausstehende Transaktionen ... 178

           4.7 ... Die Difficulty einer Blockchain ... 180

           4.8 ... Zeit zu schürfen -- der Miner Thread ... 182

           4.9 ... Zusammenfassung und Ausblick ... 186

      5.  Die Blockchain an eine Web-API anbinden ... 189

           5.1 ... Die Service-Endpunkte der Web-API ... 190

           5.2 ... Deployment der Web-API ... 196

           5.3 ... Transaktionen per Webinterface versenden ... 200

           5.4 ... Einen eigenen Block-Explorer implementieren ... 204

           5.5 ... Zusammenfassung und Ausblick ... 211

      6.  Ein Peer-to-Peer-Netzwerk aufbauen ... 215

           6.1 ... Das Peer-to-Peer-Framework konfigurieren ... 216

           6.2 ... Transaktionen im Netzwerk verteilen ... 219

           6.3 ... Blöcke im Netzwerk verteilen ... 222

           6.4 ... Mehrere Chains parallel verarbeiten ... 224

           6.5 ... Neue Knoten im Netzwerk aufnehmen ... 228

           6.6 ... Zusammenfassung und Ausblick ... 231

      7.  Accounts und Guthaben einführen ... 233

           7.1 ... Die Miner belohnen ... 234

           7.2 ... Die Accounts verwalten ... 238

           7.3 ... Die Accounts integrieren ... 242

           7.4 ... Die Accounts im Block-Explorer einbinden ... 243

           7.5 ... Zusammenfassung und Ausblick ... 249

      8.  Verifikation und Optimierungen umsetzen ... 251

           8.1 ... Transaktionen signieren ... 251

           8.2 ... Die Rahmenbedingungen erzwingen ... 255

           8.3 ... Guthaben sperren und entsperren ... 257

           8.4 ... Mit dem Merkle-Baum die Performance optimieren ... 260

           8.5 ... Den Public Key verkürzen zum Sparen von Speicher ... 263

           8.6 ... Startguthaben über den Genesis Block ermöglichen ... 264

           8.7 ... Weitere Optimierungen bedenken ... 265

           8.8 ... Zusammenfassung und Ausblick ... 267

      9.  Smart Contract Development ... 269

           9.1 ... Einführung ... 270

           9.2 ... Einfache Smart Contracts bei Bitcoin ... 272

           9.3 ... Anspruchsvolle Smart Contracts ... 280

           9.4 ... Zusammenfassung ... 283

    10.  Solidity -- Die Grundlagen verstehen ... 285

           10.1 ... Was ist Solidity? ... 285

           10.2 ... Elemente und Speicherbereiche eines Contracts ... 291

           10.3 ... Verfügbare Datentypen ... 300

           10.4 ... Zusätzliche Features von Solidity ... 312

           10.5 ... Vererbungshierarchien von Smart Contracts erstellen ... 314

           10.6 ... Libraries erstellen und verwenden ... 317

           10.7 ... Zusammenfassung und Ausblick ... 321

    11.  Solidity -- Details und Herausforderungen ... 325

           11.1 ... Wichtige Details zu Funktionen ... 326

           11.2 ... Gas verstehen und optimieren ... 330

           11.3 ... Den richtigen Exception-Mechanismus wählen ... 333

           11.4 ... Solidity mit Assembly erweitern ... 335

           11.5 ... Leicht verständliche Contracts entwickeln ... 341

           11.6 ... Updatefähige Contracts entwickeln ... 343

           11.7 ... Warum kein Zufallsgenerator sicher ist ... 354

           11.8 ... Daten von außerhalb der Blockchain vertrauen ... 356

           11.9 ... Zeitabhängigkeiten einbauen ... 357

           11.10 ... Zusammenfassung und Ausblick ... 359

    12.  Smart Contracts testen und debuggen ... 363

           12.1 ... Contracts mit Remix testen ... 364

           12.2 ... Debugging mit Remix ... 366

           12.3 ... Einführung in das Truffle Framework ... 368

           12.4 ... Unittests mit Truffle implementieren ... 372

           12.5 ... Integrationstests mit Truffle implementieren ... 377

           12.6 ... Mit dem Truffle Framework debuggen ... 381

           12.7 ... Zusammenfassung und Ausblick ... 382

    13.  Smart Contracts schützen und absichern ... 385

           13.1 ... Allgemeine Sicherheitsempfehlungen ... 385

           13.2 ... Ether in Contracts schmuggeln ... 388

           13.3 ... Arithmetische Overflows und Underflows ... 391

           13.4 ... Mit DelegateCalls den Zustand manipulieren ... 393

           13.5 ... Reentrancy-Angriffe durchführen ... 396

           13.6 ... Denial-of-Service-Angriffe durchführen ... 399

           13.7 ... Gas-Siphoning-Angriffe beachten ... 401

           13.8 ... Zusammenfassung und Ausblick ... 404

    14.  Smart Contracts deployen und managen ... 407

           14.1 ... MetaMask einrichten und Accounts verwenden ... 408

           14.2 ... Contracts mit Remix und MetaMask deployen ... 409

           14.3 ... Contracts mit dem Truffle Framework deployen ... 411

           14.4 ... Code auf Etherscan veröffentlichen ... 418

           14.5 ... Einen eigenen Knoten aufsetzen und verwenden ... 420

           14.6 ... Contracts manuell kompilieren, linken und deployen ... 422

           14.7 ... Contracts nach dem Deployment managen ... 424

           14.8 ... Zusammenfassung und Ausblick ... 426

    15.  Standards, Libraries und Design Patterns ... 429

           15.1 ... ERC-173 Contract Ownership Standard ... 429

           15.2 ... ERC-165 Standard Interface Detection ... 432

           15.3 ... ERC-20 Token Standard ... 436

           15.4 ... ERC-721 Non-Fungible Token Standard ... 440

           15.5 ... Die Libraries von OpenZeppelin nutzen ... 445

           15.6 ... Design Patterns verwenden ... 446

           15.7 ... Zusammenfassung und Ausblick ... 450

    16.  Decentralized Applications entwickeln ... 453

           16.1 ... Was ist eine Decentralized Application? ... 453

           16.2 ... Der Entwicklungsprozess einer DApp ... 455

           16.3 ... Das Backend Ihrer ersten DApp entwickeln ... 457

           16.4 ... Das Frontend Ihrer ersten DApp entwickeln ... 460

           16.5 ... Ihre erste DApp auf Swarm deployen ... 463

           16.6 ... ENS-Domains für die eigene DApp einrichten ... 467

           16.7 ... Zusammenfassung und Ausblick ... 471

    17.  Ihre erste DApp mit Drizzle zur DAO erweitern ... 475

           17.1 ... Was ist Drizzle? ... 476

           17.2 ... Was ist eine DAO, und was wird benötigt? ... 478

           17.3 ... Die DApp, um einen Governance Contract erweitern ... 479

           17.4 ... Das Frontend mit Drizzle und React umsetzen ... 480

           17.5 ... Die Drizzle-DApp zentral oder dezentral deployen ... 492

           17.6 ... Zusammenfassung und Ausblick ... 494

    18.  Dezentrale Autonome Initiale Coin Offerings umsetzen ... 497

           18.1 ... Was ist ein DAICO? ... 497

           18.2 ... Die Contracts eines DAICO implementieren ... 501

           18.3 ... Die passende DApp zu Ihrem DAICO entwerfen ... 510

           18.4 ... Zusammenfassung und Ausblick ... 517

    19.  Supply Chains mit Smart Contracts ergänzen ... 519

           19.1 ... Ideen, Visionen und Problemlösungen ... 520

           19.2 ... Assets mit dem ERC-721 Token Standard tracken ... 521

           19.3 ... web3j: die Web3 Java Ethereum DApp API ... 522

           19.4 ... Ein Command Line Interface für Asset Tracker bauen ... 527

           19.5 ... Zusammenfassung und Ausblick ... 532

    20.  Ausblick: Zukunftstechnologien ... 535

           20.1 ... Vyper -- Smart Contracts für jedermann? ... 535

           20.2 ... NEO -- der chinesische Klon von Ethereum ... 539

           20.3 ... EOS -- der stärkste Wettbewerber zu Ethereum? ... 541

           20.4 ... Ripple -- die Zukunft der Banken? ... 544

           20.5 ... IOTA -- das dezentrale Internet der Dinge ... 548

           20.6 ... Zusammenfassung ... 554

      Literaturverzeichnis ... 557

      Index ... 559