Blockchain für Entwickler

Das Handbuch für Software Engineers. Grundlagen, Programmierung, Anwendung. Mit vielen Praxisbeispielen
Buch | Hardcover
565 Seiten
2019
Rheinwerk (Verlag)
978-3-8362-6390-0 (ISBN)

Lese- und Medienproben

Blockchain für Entwickler - Andreas Schütz, Tobias Fertig
39,90 inkl. MwSt
Von den Basics bis zur Umsetzung: Alles, was Sie als Blockchain-Entwickler wissen müssen
  • Grundlagen, Konzepte, Codebeispiele für die Blockchain
  • Apps auf der Ethereum-Blockchain mit Solidity programmieren
  • Datenstruktur, Kryptografie, Konsensmodelle, Smart Contracts, DApps

Eine Blockchain ist ein distributed Ledger, dessen Datensätze manipulationssicher gespeichert werden. Was sich zunächst unspektakulär anhört, hat das Potenzial, die Softwareentwicklung verteilter Systeme grundlegend zu verändern. Gerade der Einsatz der Blockchain bei der Kryptowährung Bitcoin zeigt die Wirkung dieser neuen Trend-Technologie.

Machen Sie sich selbst mit den Möglichkeiten der Blockchain vertraut! In diesem Buch lernen Sie die Idee hinter der Blockchain kennen und erfahren, wie Sie die Blockchain technisch umsetzen. Der praxisorientierte Guide erklärt Ihnen von grundlegenden Konzepten über die verschiedenen Konsensmodelle und Datenstrukturen bis zur individuellen Implementierung alles, was Sie als Entwickler über die Blockchain wissen müssen. Inkl. kommentierten Codebeispielen und Projekten zum Download.

Grundlagen verstehen
Welche Probleme können mit der Blockchain gelöst werden? Wo liegen ihre Chancen und was muss bei der Programmierung bedacht werden? Dieser Leitfaden zeigt Ihnen, warum die Blockchain Entwickler fasziniert und wie Sie ihr Potenzial nutzen.

Smart Contracts, Decentralized Apps und mehr
Von den Datenstrukturen über das Konsensmodell bis zur Validierung der Transaktionen: Lernen Sie, wie Sie eine Blockchain erstellen und programmieren Sie mit dem Truffle-Framework Ihre eigenen Smart Contracts und DApps in Solidity.

Eigene Lösungen entwickeln
Fortgeschrittenes Entwicklerwissen und Tipps aus der Praxis helfen Ihnen bei der Umsetzung eigener Ideen, kommentierte Codebeispiele und Beispiel-Apps dienen Ihnen als Vorlage für Ihre Projekte. So gelingt der Aufbau Ihrer eigenen Blockchain und eigener Smart Contracts.

Behandelt werden:
  • Die Blockchain: Geschichte, Hintergründe und Potenzial
  • Die Basics: Transaktionen, Kryptographie, Konsensmodelle und Sicherheit
  • Die eigene Blockchain erstellen: Datenstrukturen, API, Synchronisation und Verifikation
  • Smart Contracts mit Solidity programmieren
  • Anwendungsbeispiele auf der Ethereum-Blockchain
  • Smart Contracts testen, debuggen, absichern und administrieren
  • Distributed Apps (DApps) entwickeln
  • Alternative Technologien: Ripple, NEO, IOTA und mehr

Tobias Fertig unterrichtet seit mehreren Jahren Programmierung, Software Engineering und verteilte Systeme. Er versteht die Details der Blockchain Technologie und weiß diese verständlich zu erklären. Neben seiner Promotion über Informationssicherheit berät er gemeinsam mit Andreas Schütz Unternehmen im Bereich Blockchain. In diesem Leitfaden erklärt er den Weg zur eigenen Blockchain und gibt einen Einstieg in die Smart Contract Programmierung.

Andreas Schütz hat Informatik studiert und begeistert sich bereits seit vielen Jahren für die Blockchain-Technologie. Neben seiner Promotion gibt er auf Vorträgen, Seminaren und Online-Artikeln Fachleuten und Laien Einblicke in die Blockchain. Außerdem berät er gemeinsam mit Tobias Fertig Unternehmen, wie sie die Blockchain sinnvoll einsetzen können. In diesem Leitfaden gibt er einen tiefen Einblick in die Funktionsweise dieser spannenden Technologie und den Einsatz von Smart Contracts.

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

»Man merkt, dass das Autorenteam über jahrelange Erfahrung im Bitcoin-Bereich verfügt und diese gern mit den Lesern teilt. Wer aufmerksam mitarbeitet, bekommt eine erstklassige Einführung in die Thematik.« Entwickler.de 201908

»Man merkt, dass das Autorenteam über jahrelange Erfahrung im Bitcoin-Bereich verfügt und diese gern mit den Lesern teilt. Wer aufmerksam mitarbeitet, bekommt eine erstklassige Einführung in die Thematik.«

»Neben den Basics der Blockchain liefern [die Autoren] Anwendungsbeispiele und schrecken nicht vor technischen Details zurück. Es wird ein Grundverständnis über die Kryptografie einer Blockchain vermittelt, sowie Hands-On Tipps zur Umsetzung von eigenen Projekten. Die beiden Autoren bieten einen kompakten Überblick über die neuesten Entwicklungen rund um Ripple, IOTA oder Ethereum.«

»Der praxisorientierte Guide erklärt, was Entwickler über die Blockchain wissen sollten.«

»Umfassende Darstellung und viele Details. „Blockchain für Entwickler“ trägt alles Wissenswerte über die Hype-Technologie zusammen. «

Erscheinungsdatum
Reihe/Serie Rheinwerk Computing
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Einbandart gebunden
Themenwelt Mathematik / Informatik Informatik Datenbanken
Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Software Entwicklung
Informatik Theorie / Studium Kryptologie
Wirtschaft Betriebswirtschaft / Management Wirtschaftsinformatik
Schlagworte Assets • Bitcoin • Bitcoins • Crypto-Mining • Distributed Ledger • Distributed-Ledger • Hand-Buch Einführung Tutorials Grundlagen Wissen lernen Workshops Rheinwerk-Verlag Computing Kurs • Hand-Buch Einführung Tutorials Grundlagen Wissen lernen Workshops Rheinwerk-Verlag Computing Kurs Node.js Test CLI • Hand-Buch Einführung Tutorials Wissen lernen Workshops Computing Lern-Kurse • JavaScript • JavaScript Node.js Test CLI • Kryptoasset • Krypto-Währung • Krypto-Währung • Proof-of-work • Public-Key • Ripple • Software-Entwicklung • Transaktion • Truffle-Framework • wallet
ISBN-10 3-8362-6390-4 / 3836263904
ISBN-13 978-3-8362-6390-0 / 9783836263900
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
Mehr entdecken
aus dem Bereich