

Beschreibung
Alles, was Sie als Blockchain-Entwickler wissen müssenEine 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 gr...Alles, was Sie als Blockchain-Entwickler wissen müssenEine 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, Konzepte, Codebeispiele für die BlockchainApps auf der Ethereum-Blockchain mit Solidity programmierenDatenstruktur, Kryptografie, Konsensmodelle, Smart Contracts, DApps Aus dem Inhalt:Die Blockchain: Geschichte, Hintergründe und PotenzialDie Basics: Transaktionen, Kryptographie, Konsensmodelle und SicherheitDie eigene Blockchain erstellen: Datenstrukturen, API, Synchronisation und VerifikationSmart-Contract-Programmierung mit Solidity: Anwendungsbeispiele auf der Ethereum-BlockchainSmart Contracts testen, debuggen, absichern und administrierenDistributed Apps (dApps) entwickelnAlternative Technologien: Ripple, NEO, IOTA und mehr
»Umfassende Darstellung und viele Details. Blockchain für Entwickler trägt alles Wissenswerte über die Hype-Technologie zusammen. «
Vorwort
Das Handbuch für Software Engineers. Grundlagen, Programmierung, Anwendung. Mit vielen Praxisbeispielen
Autorentext
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.
Klappentext
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: Ihr Einsatz in der Kryptowährung Bitcoin macht es vor.
Lernen Sie die Idee hinter der Blockchain kennen und erfahren Sie, wie Ihre technische Umsetzung funktioniert. Dieser praxisorientierte Guide erklärt Ihnen von grundlegenden Konzepten über die verschiedenen Konsensmodelle und Datenstrukturen bis zur individuellen Implementierung alles, was Sie über die Blockchain wissen müssen.
Aus dem Inhalt:
Alternative Technologien: Ripple, NEO, IOTA und mehr
Inhalt
Materialien zum Buch ... 16
1.1 ... Vorwort der Autoren ... 17
1.2 ... Geleitwort ... 19
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.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.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.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.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.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.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.1 ... Einführung ... 270
9.2 ... Einfache Smart Contracts bei Bitcoin ... 272
9.3 ... Anspruchsvolle Smart Contracts ... 280
9.4 ... Zusammenfassung ... 283
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.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.1 ... Contracts mit Remix testen ... 364
12.2 ... Debugging mit Remix ... 366
12.3 ... Einführung in das Truffle Frame…
