D'Buch "Creating Solidity Smart Kontrakter fir den Ethereum Blockchain. Praktesch Guide"

D'Buch "Creating Solidity Smart Kontrakter fir den Ethereum Blockchain. Praktesch Guide"
Fir méi wéi engem Joer hunn ech um Buch geschafft "Creating Solidity Smart Contracts for the Ethereum Blockchain. Praktesch Guide", an elo ass dës Aarbecht fäerdeg, an d'Buch publizéiert a verfügbar a Liter.

Ech hoffen mäi Buch hëlleft Iech séier unzefänken Solidity Smart Kontakter ze kreéieren a verdeelt DApps fir den Ethereum Blockchain. Et besteet aus 12 Lektioune mat prakteschen Aufgaben. Nodeems se se ofgeschloss hunn, kann de Lieser hir eege lokal Ethereum Noden erstellen, Smart Kontrakter verëffentlechen an hir Methoden ruffen, Daten austauschen tëscht der realer Welt a Smart Kontrakter mat Orakelen, a mat dem Rinkeby Test Debug Network schaffen.

D'Buch riicht sech un jiddereen, deen un fortgeschratt Technologien am Beräich vun der Blockchain interesséiert ass a séier Wësse wëlle kréien, déi et hinnen erlaabt eng interessant a villverspriechend Aarbecht ze engagéieren.

Hei drënner fannt Dir den Inhaltsverzeechnes an dat éischt Kapitel vum Buch (och op Liter Brochstécker vum Buch sinn verfügbar). Ech hoffen Feedback, Kommentaren a Virschléi ze kréien. Ech probéieren dat alles Rechnung ze huelen wann ech déi nächst Editioun vum Buch virbereeden.

InhaltsverzeechnesAféierungEist Buch ass geduecht fir déi, déi net nëmmen d'Prinzipien vun der Ethereum Blockchain wëllen verstoen, awer och praktesch Fäegkeeten kréien fir verdeelt DApps an der Solidity Programmiersprache fir dëst Netzwierk ze kreéieren.

Et ass besser net nëmmen dëst Buch ze liesen, mee mat et ze schaffen, praktesch Aufgaben ausféieren, déi an de Lektioune beschriwwe ginn. Fir ze schaffen, braucht Dir e lokale Computer, virtuellen oder Cloud Server mat Debian oder Ubuntu OS installéiert. Dir kënnt och Raspberry Pi benotze fir vill Aufgaben auszeféieren.

An der éischter Lektioun Mir wäerten d'Operatiounsprinzipien vun der Ethereum Blockchain a Basis Terminologie kucken, an och schwätzen iwwer wou dës Blockchain ka benotzt ginn.

Goal geschoss huet zweet Lektioun - erstellt e private Ethereum Blockchain Node fir weider Aarbecht an dësem Cours op engem Ubuntu an Debian Server. Mir wäerte kucken op d'Features vun der Installatioun vun Basis Utilitys, wéi Geth, déi d'Operatioun vun eisem Blockchain Node garantéiert, souwéi de Schwarm dezentraliséierten Datelagerung Daemon.

Drëtt Lektioun wäert Iech léieren wéi Dir mat Ethereum op engem preiswerte Raspberry Pi Mikrocomputer experimentéiert. Dir wäert de Rasberian Betriebssystem (OS) op der Raspberry Pi installéieren, de Geth Utility deen de Blockchain Node an de Swarm dezentraliséierten Datelagerung Daemon mécht.

Lektioun véier ass fir Konten a Krypto-Währungsunitéiten am Ethereum-Netz gewidmet, souwéi Weeër fir Fongen vun engem Kont op en aneren aus der Geth Konsole ze transferéieren. Dir léiert wéi Dir Konten erstellt, Fondstransaktiounen initiéiert an Transaktiounsstatus a Empfang kritt.

An der fënnefter Lektioun Dir wäert mat intelligenten Kontrakter am Ethereum Netzwierk kennen léieren a léieren iwwer hir Ausféierung vun der Ethereum virtueller Maschinn.

Dir erstellt a publizéiert Ären éischte Smart Kontrakt am Ethereum private Netzwierk a léiert wéi een seng Funktiounen nennt. Fir dëst ze maachen, benotzt Dir d'Remix Solidity IDE. Dir léiert och wéi Dir de Solc Batch Compiler installéiere a benotzt.
Mir schwätzen och iwwer de sougenannte Application Binary Interface (ABI) a léiere wéi Dir se benotzt.

Sechsten Lektioun ass gewidmet fir JavaScript Scripten ze kreéieren déi Node.js lafen an Operatiounen mat Solidity Smart Kontrakter ausféieren.

Dir wäert Node.js op Ubuntu, Debian a Rasberian OS installéieren, Skripte schreiwen fir e Smart Kontrakt am Ethereum lokalen Netzwierk ze verëffentlechen a seng Funktiounen ze ruffen.

Zousätzlech léiert Dir wéi Dir Fongen tëscht reguläre Konten mat Skripte transferéiert, wéi och se op Smart Kontraktkonten kreditéieren.

An der siwenter Lektioun Dir léiert wéi Dir den Truffle-Framework installéiert an benotzt, populär bei Solidity Smart Kontrakt Entwéckler. Dir léiert wéi Dir JavaScript Skripte erstellt déi Kontraktfunktiounen nennen mam Trüffel-Kontrakt Modul, an testen Äre Smart Kontrakt mat Truffle.

Aachte Lektioun gewidmet fir Soliditéit Datentypen. Dir schreift intelligent Kontrakter déi mat Datentypen funktionnéieren wéi ënnerschriwwen an net ënnerschriwwen ganz Zuelen, ënnerschriwwen Zuelen, Strings, Adressen, komplexe Variablen, Arrays, Opzielungen, Strukturen an Dictionnairen.

An der néngten Lektioun Dir wäert ee Schrëtt méi no sinn fir Smart Kontrakter fir den Ethereum Mainnet ze kreéieren. Dir léiert wéi Dir Kontrakter mat Truffle am Geth privaten Netzwierk publizéieren, wéi och um Rinkeby Testnet. Debugging vun engem Smart Kontrakt am Rinkeby Netz ass ganz nëtzlech ier Dir et am Haaptnetz publizéiert - bal alles ass wierklech do, awer gratis.

Als Deel vun der Lektioun wäert Dir e Rinkeby Test Reseau Node schafen, finanzéiert et mat Fongen, a publizéiert engem Smart Kontrakt.

Lektioun 10 gewidmet fir Ethereum Swarm verdeelt Datelagerung. Andeems Dir verdeelt Späichere benotzt, spuert Dir fir grouss Quantitéiten un Daten op der Ethereum Blockchain ze späicheren.

An dësem Tutorial erstellt Dir eng lokal Swarm-Späichere, schreift a liest Operatiounen op Dateien an Dateieverzeichnisser. Als nächst léiert Dir wéi Dir mat der ëffentlecher Swarm Gateway schafft, Scripte schreift fir Zougang zu Swarm vun Node.js, souwéi de Perl Net :: Ethereum :: Swarm Modul ze benotzen.

Lektioun Zil 11 - Meeschtesch mat Solidity Smart Kontrakter mat der populärer Python Programmiersprache an dem Web3.py Kader ze schaffen. Dir installéiert de Kader, schreift Skripte fir de Smart Kontrakt ze kompiléieren an ze publizéieren, a seng Funktiounen nennen. An dësem Fall gëtt Web3.py souwuel eleng an a Verbindung mat der Truffle integréiert Entwécklungsëmfeld benotzt.

An der Lektioun 12 Dir léiert Daten tëscht Smart Kontrakter an der realer Welt mat Orakel ze transferéieren. Dëst wäert nëtzlech sinn fir Iech Daten vu Websäiten, IoT-Geräter, verschiddenen Apparater a Sensoren ze kréien, an Daten aus Smart Kontrakter op dës Apparater ze schécken. Am prakteschen Deel vun der Lektioun erstellt Dir en Orakel an e Smart Kontrakt, deen den aktuellen Wechselkurs tëscht USD an Rubel vun der Websäit vun der Zentralbank vun der Russescher Federatioun kritt.

Lektioun 1. Kuerz iwwer de Blockchain an den Ethereum NetzwierkDen Zweck vun der Lektioun: Gewunnecht mat den Operatiounsprinzipien vum Ethereum Blockchain, seng Uwendungsberäicher a Basisterminologie.
Praktesch Aufgaben: net an dëser Lektioun abegraff.

Et gëtt kaum e Softwareentwéckler haut deen näischt iwwer Blockchain Technologie (Blockchain), Krypto-Währungen (Cryptocurrency oder Crypto Währung), Bitcoin (Bitcoin), initial Mënzoffer (ICO, Initial Coin Offer), Smart Kontrakter (Smart Contract) héieren huet, wéi och aner Konzepter a Begrëffer am Zesummenhang mat Blockchain.

Blockchain Technologie mécht nei Mäert op a schaaft Aarbechtsplaze fir Programméierer. Wann Dir all d'Intricacies vu Krypto-Währungstechnologien a Smart Kontrakttechnologien versteet, da sollt Dir keng Probleemer hunn dëst Wëssen an der Praxis ëmzesetzen.

Et muss gesot ginn datt et vill Spekulatiounen ronderëm Krypto-Währungen a Blockchainen gëtt. Mir loossen d'Diskussiounen iwwer Ännerungen an de Krypto-Währungsraten, d'Schafung vu Pyramiden, d'Intricacies vun der Krypto-Währungsgesetzgebung, etc. An eisem Trainingscours konzentréiere mir eis haaptsächlech op d'technesch Aspekter vun der Uwendung vu Smart Kontrakter vum Ethereum Blockchain (Ethereum, Ether) an d'Entwécklung vu sougenannten dezentraliséierten Uwendungen (Distributed Application, DApp).

Wat ass Blockchain

Blockchain (Block Chain) ass eng Kette vun Datenblocken, déi op eng gewësse Manéier matenee verbonne sinn. Am Ufank vun der Kette gëtt et den éischte Block, deen de primäre Block (Genesisblock) oder Genesisblock genannt gëtt. Et ass gefollegt vun der zweeter, dann déi drëtt an sou op.

All dës Dateblocker ginn automatesch op villen Noden vum Blockchain Netzwierk duplizéiert. Dëst garantéiert dezentraliséierter Späichere vu Blockchain Daten.
Dir kënnt un e Blockchain System denken als eng grouss Zuel vu Wirbelen (kierperlech oder virtuell Serveren) verbonne mat engem Netzwierk an replizéiert all Ännerungen an der Kette vun Datenblocken. Dëst ass wéi e riesegen Multi-Server Computer, an d'Node vun esou engem Computer (Server) kënnen iwwerall op der Welt verspreet ginn. An och Dir kënnt Äre Computer an de Blockchain Netzwierk addéieren.

Verdeelt Datebank

E Blockchain kann als verdeelt Datebank ugesinn ginn déi iwwer all Node vum Blockchain Netzwierk replizéiert gëtt. An der Theorie wäert d'Blockchain operationell sinn soulaang op d'mannst ee Node funktionnéiert, all d'Blocke vun der Blockchain späichert.

Verdeelt Dateregister

Blockchain kann als verdeelt Ledger vun Daten an Operatiounen (Transaktiounen) ugesi ginn. En aneren Numm fir sou e Register ass e Ledger.

Daten kënnen op eng verdeelt Ledger bäigefüügt ginn, awer se kënnen net geännert oder geläscht ginn. Dës Onméiglechkeet gëtt erreecht, besonnesch duerch d'Benotzung vu kryptografeschen Algorithmen, speziellen Algorithmen fir Blocken an d'Kette ze addéieren an dezentraliséierter Datelagerung.

Wann Dir Blocken bäidréit an Operatiounen (Transaktiounen) ausféiert, gi privat an ëffentlech Schlëssele benotzt. Si beschränken Blockchain Benotzer andeems se hinnen nëmmen Zougang zu hiren eegene Block vun Daten ginn.

Transaktiounen

Blockchain späichert Informatioun iwwer Operatiounen (Transaktiounen) a Blocken. Zur selwechter Zäit kënnen al, scho fäerdeg Transaktiounen net zréckgerullt oder geännert ginn. Nei Transaktioune ginn an neien, addéierte Blocken gespäichert.

Op dës Manéier kann déi ganz Transaktiounsgeschicht onverännert op der Blockchain opgeholl ginn. Dofir kann Blockchain benotzt ginn, zum Beispill, fir sécher Banktransaktiounen, Copyright Informatioun, Geschicht vun Ännerungen an Immobiliebesëtzer, asw.

D'Ethereum Blockchain enthält sougenannte Systemstaaten. Wéi Transaktiounen ausgefouert ginn, ännert de Staat vum initialen Zoustand an den aktuellen Zoustand. Transaktioune ginn a Blocken opgeholl.

Ëffentlech a privat Blockchains

Et soll hei bemierkt ginn datt alles wat gesot gëtt nëmme fir déi sougenannte ëffentlech Blockchain Netzwierker wouer ass, déi net vun enger individueller oder juristescher Entitéit, Regierungsagentur oder Regierung kontrolléiert kënne ginn.
Sougenannte private Blockchain Netzwierker sinn ënner der voller Kontroll vun hire Schëpfer, an alles ass do méiglech, zum Beispill e komplette Ersatz vun all Block vun der Kette.

Praktesch Uwendunge vu Blockchain

Wat kann Blockchain nëtzlech sinn?

Kuerz gesot, Blockchain erlaabt Iech sécher Transaktiounen (Transaktiounen) tëscht Leit oder Firmen auszeféieren déi sech net vertrauen. Donnéeën, déi am Blockchain opgeholl ginn (Transaktiounen, perséinlech Donnéeën, Dokumenter, Certificaten, Kontrakter, Rechnungen, etc.) kënnen net no der Enregistrement gefälscht oder ersat ginn. Dofir, baséiert op der Blockchain, ass et méiglech, zum Beispill vertraut verdeelt Registry vu verschiddenen Dokumenter ze kreéieren.

Natierlech wësst Dir datt cryptocurrency Systemer op Basis vu Blockchainen erstallt ginn, entwéckelt fir gewéinlech Pabeiergeld ze ersetzen. Pabeiergeld gëtt och Fiat genannt (vu Fiat Money).
Blockchain garantéiert d'Lagerung an d'Immutabilitéit vun Transaktiounen, déi a Blocken opgeholl ginn, dofir kann et benotzt ginn fir Krypto-Währungssystemer ze kreéieren. Et enthält déi ganz Geschicht vum Transfert vu Krypto Fongen tëscht verschiddene Benotzer (Konten), an all Operatioun kann verfollegt ginn.

Och wann Transaktioune bannent Krypto-Währungssystemer anonym kënne sinn, d'Krypto-Währung zréckzéien an se fir Fiat-Suen austauschen resultéiert normalerweis an d'Identitéit vum Besëtzer vum Krypto-Währung Verméigen.

Sougenannte Smart Kontrakter, déi Software sinn, déi am Ethereum Netzwierk lafen, erlaben Iech de Prozess vun der Ofschloss vun Transaktiounen ze automatiséieren an hir Ëmsetzung ze iwwerwaachen. Dëst ass besonnesch effektiv wann d'Bezuelung fir d'Transaktioun mat der Ether cryptocurrency duerchgefouert gëtt.

D'Ethereum Blockchain an Ethereum Smart Kontrakter geschriwwen an der Solidity Programmiersprache kënnen zum Beispill an de folgende Beräicher benotzt ginn:

  • eng Alternativ zu notarization vun Dokumenter;
  • Stockage vun engem Register vun Immobilien Objeten an Informatiounen iwwert Transaktiounen mat Immobilien Objete;
  • Stockage vun Copyright Informatiounen iwwert intellektuell Propriétéit (Bicher, Biller, musikalesch Wierker, etc.);
  • Schafung vun onofhängege Wahlsystemer;
  • Finanzen a Banken;
  • Logistik op internationaler Skala, Tracking vun der Bewegung vu Wueren;
  • Stockage vu perséinlechen Donnéeën als Analog zu engem Identitéitskaart System;
  • sécher Transaktiounen am kommerziellen Beräich;
  • d'Späichere vun de Resultater vun medezineschen Untersuchungen, wéi och d'Geschicht vun verschriwwene Prozeduren

Probleemer mat Blockchain

Awer natierlech ass net alles sou einfach wéi et schéngt!

Et gi Probleemer mat der Verifizéierung vun Daten ier se an de Blockchain bäigefüügt ginn (zum Beispill, si si gefälscht?), Probleemer mat der Sécherheet vum System an der Applikatiounssoftware déi benotzt gëtt fir mat der Blockchain ze schaffen, Probleemer mat der Méiglechkeet vu sozialen Ingenieursmethoden ze benotzen fir Zougang ze klauen zu cryptocurrency Portemonnaien, etc.. .P.

Nach eng Kéier, wa mir net vun engem ëffentleche Blockchain schwätzen, vun deenen d'Noden iwwerall op der Welt verspreet sinn, awer iwwer e private Blockchain, deen zu enger Persoun oder Organisatioun gehéiert, da wäert den Niveau vum Vertrauen hei net méi héich sinn wéi den Niveau vum Vertrauen an dëser Persoun oder dëser Organisatioun.

Et sollt och berücksichtegt ginn datt d'Donnéeën, déi am Blockchain opgeholl goufen, fir jiddereen verfügbar sinn. An dësem Sënn ass Blockchain (besonnesch ëffentlech) net gëeegent fir vertraulech Informatioun ze späicheren. Wéi och ëmmer, d'Tatsaach datt d'Informatioun iwwer de Blockchain net geännert ka ginn, kann hëllefen, verschidden Aarte vu betrügereschen Aktivitéiten ze verhënneren oder z'ënnersichen.

Ethereum dezentraliséiert Applikatiounen wäert praktesch sinn wann Dir fir hir Notzung mat cryptocurrency bezuelt. Wat méi Leit déi cryptocurrency besëtzen oder bereet sinn et ze kafen, wat méi populär DApps a Smart Kontrakter ginn.

Gemeinsam Probleemer mat Blockchain, déi seng praktesch Uwendung behënneren, enthalen déi limitéiert Geschwindegkeet, bei där nei Blöcke kënne bäigefüügt ginn an déi relativ héich Käschte vun Transaktiounen. Awer d'Technologie an dësem Beräich entwéckelt sech aktiv, an et gëtt Hoffnungen datt technesch Problemer mat der Zäit geléist ginn.

En anere Problem ass datt Smart Kontrakter op der Ethereum Blockchain an engem isoléierten Ëmfeld vu virtuelle Maschinnen funktionnéieren, an net Zougang zu real-Welt Daten hunn. Besonnesch de Smart Kontrakt Programm kann net selwer Daten aus Siten oder physesch Apparater (Sensoren, Kontakter, etc.) liesen an och keng Daten op externen Apparater erausginn. Mir diskutéieren dëse Problem a Weeër fir et ze léisen an enger Lektioun déi de sougenannten Oracles gewidmet ass - Informatiounsvermëttler vu Smart Kontrakter.

Et ginn och gesetzlech Restriktiounen. An e puer Länner, zum Beispill, ass et verbueden cryptocurrency als Bezuelmëttel ze benotzen, mä Dir kënnt et als eng Zort digital Verméigen besëtzen, wéi Wäertpabeieren. Esou Verméigen kënnen um Austausch kaaft a verkaf ginn. Op alle Fall, wann Dir e Projet erstellt, dee mat Krypto-Währungen funktionnéiert, musst Dir Iech mat der Gesetzgebung vum Land vertraut maachen, ënner deem hir Juridictioun Äre Projet fällt.

Wéi eng Blockchain Kette entsteet

Wéi mir scho gesot hunn, Blockchain ass eng einfach Kette vun Datenblocken. Als éischt gëtt den éischte Block vun dëser Kette geformt, da gëtt déi zweet derbäi bäigefüügt, a sou weider. Transaktiounsdaten ginn ugeholl datt se a Blocken gespäichert ginn, a ginn an de leschte Block bäigefüügt.

An Fig. 1.1 hu mir déi einfachst Versioun vun enger Sequenz vu Blocken gewisen, wou den éischte Block op deen nächste bezitt.

D'Buch "Creating Solidity Smart Kontrakter fir den Ethereum Blockchain. Praktesch Guide"
Reis. 1.1. Einfach Sequenz vu Blocks

Mat dëser Optioun ass et awer ganz einfach den Inhalt vun all Block an der Kette ze manipuléieren, well d'Blocker keng Informatioun enthalen fir géint Ännerungen ze schützen. Bedenkt datt de Blockchain geduecht ass fir vu Leit a Firmen ze benotzen tëscht deenen et kee Vertraue gëtt, kënne mir schléissen datt dës Method fir Daten ze späicheren net fir de Blockchain gëeegent ass.

Loosst eis ufänken Blocks vu Fälschungen ze schützen. Op der éischter Etapp wäerte mir probéieren all Block mat engem Checksum ze schützen (Fig. 1.2).

D'Buch "Creating Solidity Smart Kontrakter fir den Ethereum Blockchain. Praktesch Guide"
Reis. 1.2. Füügt Schutz fir dës Blocks mat engem Checksum

Elo kann en Ugräifer net einfach de Block änneren, well et d'Kontrollsum vun de Blockdaten enthält. Iwwerpréift vum Checksum wäert weisen datt d'Donnéeën geännert goufen.

Fir d'Kontrollsum ze berechnen, kënnt Dir eng vun den Hashingfunktiounen benotzen wéi MD-5, SHA-1, SHA-256, etc. Hash Funktiounen berechnen e Wäert (zum Beispill en Textstring mat konstanter Längt) andeems se irreversibel Operatiounen op engem Block vun Daten ausféieren. D'Operatiounen hänkt vun der Aart vun der Hashfunktioun of.

Och wann den Inhalt vum Dateblock liicht ännert, wäert den Hashwäert och änneren. Andeems Dir den Hash-Funktiounswäert analyséiert, ass et onméiglech den Dateblock ze rekonstruéieren fir deen et berechent gouf.

Gëtt esou Schutz genuch? Leider nee.

An dësem Schema schützt d'Checksum (Hash-Funktioun) nëmmen eenzel Blocken, awer net de ganze Blockchain. Wann Dir den Algorithmus kennt fir d'Hash-Funktioun ze berechnen, kann en Ugräifer einfach den Inhalt vun engem Block ersetzen. Och näischt verhënnert datt hien d'Blöcke aus der Kette läscht oder nei bäigefüügt.

Fir d'ganz Kette als Ganzt ze schützen, kënnt Dir och an all Block späicheren, zesumme mat den Donnéeën, en Hash vun den Daten aus dem fréiere Block (Fig. 1.3).

D'Buch "Creating Solidity Smart Kontrakter fir den Ethereum Blockchain. Praktesch Guide"
Reis. 1.3. Füügt den Hash vum fréiere Block an den Dateblock

An dësem Schema, fir e Block z'änneren, musst Dir d'Hashfunktioune vun alle spéider Blocken nei berechnen. Et géif schéngen, wat ass de Problem?

A richtege Blockchaine ginn och kënschtlech Schwieregkeeten erstallt fir nei Blocken ze addéieren - Algorithmen déi vill Rechenressourcen erfuerderen gi benotzt. Bedenkt datt fir Ännerunge fir e Block ze maachen, musst Dir net nëmmen dëse Block nei berechnen, mee all déi spéider, dëst wäert extrem schwéier sinn ze maachen.

Loosst eis och drun erënneren datt d'Blockchain-Daten op ville Netzwierkknäppchen gespäichert (duplizéiert) sinn, d.h. Dezentraliséierter Lagerung gëtt benotzt. An dat mécht et vill méi schwéier e Block ze fälschen, well Ännerungen mussen op all Reseau Wirbelen gemaach ginn.

Zënter Blocken Informatioun iwwer de fréiere Block späicheren, ass et méiglech den Inhalt vun alle Blocken an der Kette ze kontrolléieren.

Ethereum Blockchain geet erop

D'Ethereum Blockchain ass eng Plattform op där verdeelt DApps erstallt kënne ginn. Am Géigesaz zu anere Plattformen erlaabt Ethereum d'Benotzung vu sougenannte Smart Kontrakter (Smart Kontrakter), geschriwwen an der Solidity Programmiersprache.

Dës Plattform gouf am Joer 2013 vum Vitalik Buterin, Grënner vum Bitcoin Magazine erstallt, an 2015 gestart. Alles wat mir studéieren oder maachen an eisem Trainingscours bezitt sech speziell op d'Ethereum Blockchain a Solidity Smart Kontrakter.

Biergbau oder wéi Spär geschaf ginn

Mining ass en zimlech komplexen a ressourceintensive Prozess fir nei Blocken an d'Blockchain Kette ze addéieren, a guer net "Krypto-Währungsmining". Biergbau garantéiert d'Funktionalitéit vun der blockchain, well et ass dëse Prozess dee verantwortlech ass fir Transaktiounen un den Ethereum Blockchain ze addéieren.

Leit an Organisatiounen involvéiert fir Blocken ze addéieren ginn Miner genannt.
D'Software, déi op de Miner-Noden leeft, probéiert en Hash-Parameter mam Numm Nonce fir de leschte Block ze fannen fir e spezifesche Hash-Wäert ze kréien, deen vum Netz spezifizéiert gëtt. Den Ethash Hashing Algorithmus benotzt am Ethereum erlaabt Iech den Nonce Wäert nëmmen duerch sequenziell Sich ze kréien.

Wann de Miner Node de richtege Nonce-Wäert fënnt, dann ass dëst de sougenannte Beweis vun der Aarbecht (PoW, Proof-of-work). An dësem Fall, wann e Block am Ethereum-Netz bäigefüügt gëtt, kritt de Miner eng gewësse Belounung an der Netzwährung - Ether. Zu der Zäit vum Schreiwen ass d'Belounung 5 Ether, awer dëst gëtt mat der Zäit reduzéiert.

Also, Ethereum Miner garantéieren de Fonctionnement vum Netz andeems se Blocken addéieren, a kréien cryptocurrency Sue fir dëst. Et gëtt vill Informatioun am Internet iwwer Miner a Biergbau, awer mir konzentréieren eis op d'Schafung vun Solidity Kontrakter an DApps am Ethereum Netz.

Lektioun Resumé

An der éischter Lektioun hutt Dir d'Blockchain vertraut a geléiert datt et eng speziell komponéiert Sequenz vu Blocks ass. Den Inhalt vu virdru opgeholle Blocken kann net geännert ginn, well dëst erfuerdert all spéider Blocken op ville Netzwierkknoten nei ze berechnen, wat vill Ressourcen an Zäit erfuerdert.

Blockchain kann benotzt ginn fir d'Resultater vun Transaktiounen ze späicheren. Säin Haaptzil ass sécher Transaktiounen tëscht Parteien (Persounen an Organisatiounen) z'organiséieren tëscht deenen et kee Vertraue gëtt. Dir hutt geléiert a wéi enge spezifesche Beräicher vum Geschäft an a wéi enge Beräicher d'Ethereum Blockchain a Solidity Smart Kontrakter kënne benotzt ginn. Dëst ass de Bankesecteur, Aschreiwung vun Propriétéit Rechter, Dokumenter, etc.

Dir hutt och geléiert datt verschidde Probleemer kënne entstoen wann Dir Blockchain benotzt. Dëst si Probleemer fir d'Informatioun ze verifizéieren, déi an der Blockchain bäigefüügt ginn, d'Geschwindegkeet vum Blockchain, d'Käschte vun Transaktiounen, de Problem vum Dateaustausch tëscht Smart Kontrakter an der realer Welt, souwéi potenziell Attacke vun Ugräifer, déi cryptocurrency Fongen aus Benotzerkonten klauen. .

Mir hunn och kuerz iwwer de Mining geschwat wéi de Prozess fir nei Blocken an d'Blockchain ze addéieren. Mining ass néideg fir Transaktiounen ze kompletéieren. Déi am Mining involvéiert garantéieren de Fonctionnement vum Blockchain a kréien eng Belounung an der Krypto Währung dofir.

Lektioun 2. En Aarbechtsëmfeld an Ubuntu an Debian OS virbereedenWiel vun engem Betribssystem
Installéiert déi néideg Utilities
Geth a Swarm op Ubuntu installéieren
Geth a Swarm op Debian installéieren
Préparatioun virzebereeden
Download vun der Go Verdeelung
Ëmfeld Verännerlechen Astellung
Iwwerpréift d'Go Versioun
Geth a Swarm installéieren
E private Blockchain erstellen
Preparéieren der genesis.json Fichier
Schafen engem Verzeechnes fir Aarbecht
En Account maachen
Start vun der Node Initialiséierung
Node Startoptiounen
Connect zu eisem Node
Biergbau Gestioun a Gläichgewiicht kontrolléieren
D'Geth Konsole ausschalten
Lektioun Resumé

Lektioun 3. D'Aarbechtsëmfeld op Raspberry Pi 3 virbereedenPreparéieren de Raspberry Pi 3 fir Aarbecht
Installatioun Rasberian
Installatioun vun Aktualiséierungen
SSH Zougang aktivéieren
Setzt eng statesch IP Adress
Installéiert déi néideg Utilities
Installéiere Go
Download vun der Go Verdeelung
Ëmfeld Verännerlechen Astellung
Iwwerpréift d'Go Versioun
Geth a Swarm installéieren
E private Blockchain erstellen
Iwwerpréift Äre Kont a Gläichgewiicht
Lektioun Resumé

Lektioun 4. Konten an Transfert vun Fongen tëscht KonteKuckt an addéiere Konten
Kuckt eng Lëscht vu Konten
Derbäi e Kont
geth Kont Kommando Optiounen
Kont Passwierder
Krypto-Währung an Ethereum
Ethereum Währungsunitéiten
Mir bestëmmen déi aktuell Gläichgewiicht vun eise Konten
Transfert Fongen vun engem Kont op en aneren
eth.sendTransaktioun Method
View Transaktioun Status
Transaktioun Empfang
Lektioun Resumé

Lektioun 5. Verëffentlechung vun Ärem éischte KontraktSmart Kontrakter an Ethereum
Smart Kontrakt Ausféierung
Ethereum Virtuell Maschinn
Integréiert Entwécklung Ëmfeld Remix Solidity IDE
Lafen Compilatioun
Opruff Kontrakt Funktiounen
Verëffentlechung vun engem Kontrakt op engem privaten Netzwierk
Kréien d'ABI Definitioun an de Kontrakt binäre Code
Verëffentlechung vum Kontrakt
Iwwerpréift vum Kontrakt publizéiert Transaktiounsstatus
Opruff Kontrakt Funktiounen
Batch Compiler solc
Solc op Ubuntu installéieren
Solc op Debian installéieren
Kompiléiere vum HelloSol Kontrakt
Verëffentlechung vum Kontrakt
Installéiert solc op Rasberian
Lektioun Resumé

Lektioun 6. Smart Kontrakter an Node.jsInstalléieren Node.js
Installatioun op Ubuntu
Installatioun op Debian
Ganache-cli installéieren a lafen
Web3 Installatioun
Installatioun solc
Installéiert Node.js op Rasberian
Skript fir eng Lëscht vu Konten an der Konsole ze kréien
Skript fir e Smart Kontrakt ze publizéieren
Lancéiere a kréien Parameteren
Kritt Startoptiounen
Kontrakt Zesummesetzung
Spär Äre Kont op
Lueden ABI a Kontrakt Binär Code
Schätzung vun der néideg Betrag vun Gas
Erstellt en Objet a fänkt un e Kontrakt ze publizéieren
Leeft de Kontrakt Verëffentlechungsskript
Uruff Smart Kontrakt Funktiounen
Ass et méiglech e verëffentlecht Smart Kontrakt ze aktualiséieren?
Schafft mat Web3 Versioun 1.0.x
Kritt eng Lëscht vu Konten
Verëffentlechung vum Kontrakt
Opruff Kontrakt Funktiounen
Transfert Fongen vun engem Kont op en aneren
Transfert Fongen op Kontrakt Kont
Update vum HelloSol Smart Kontrakt
Erstellt e Skript fir Äre Kontbalance ze gesinn
Füügt en Uruff un d'getBalance-Funktioun op de call_contract_get_promise.js Skript
Mir fëllen de Smart Kontrakt Kont
Lektioun Resumé

Lektioun 7. Aféierung an TruffleTrüffel installéieren
Erstellt en HelloSol Projet
Erstellt de Projet Verzeechnes a Dateien
Kontrakter Verzeechnes
Katalog Migratiounen
Verzeechnes Test
truffle-config.js Datei
Kompiléiere vum HelloSol Kontrakt
Start e Kontrakt ze publizéieren
Call HelloSol Kontrakt Funktiounen an enger Truffle Prompt
Call HelloSol Kontrakt Funktiounen aus engem JavaScript Skript Lafen Node.js
Installatioun vun der Trüffel-Kontrakt Modul
Rufft d'Kontraktfunktiounen getValue a getString
Opruff Kontrakt Funktiounen setValue an setString
Kontrakt Ännerung an nei Verëffentlechung
Schafft mat Web3 Versioun 1.0.x
Ännerungen am HelloSol Smart Kontrakt maachen
Scripte fir Opruff Kontrakt Methoden
Testen an Truffle
Soliditéit Test
JavaScript Test
Lektioun Resumé

Lektioun 8. Soliditéit Daten ZorteKontrakt fir Léieren Daten Zorte
Boolschen Datentypen
Net ënnerschriwwen ganz Zuelen an ënnerschriwwen ganz Zuelen
Fix Punkt Zuelen
Adress
Variablen vun komplexen Typen
Fixed Gréisst Arrays
Dynamesch Arrays
Enumeratioun
Strukturen
Dictionnairen Mapping
Lektioun Resumé

Lektioun 9. Migratioun vun Kontrakter op de private Reseau an de Rinkeby ReseauVerëffentlechung vun engem Kontrakt vun Truffle op de private Geth Reseau
Preparéieren engem private Reseau Node
Preparéieren engem Kontrakt fir Aarbecht
Kompiléieren a Migratioun vun engem Kontrakt an d'Truffle Reseau
Start lokal Netzwierk Migratioun geth
Kréien Trüffel Artefakte
Verëffentlechung vun engem Kontrakt vun Truffle op de Rinkeby Testnet
Virbereedung vun engem Geth Node fir mat Rinkeby ze schaffen
Node Synchroniséierung
Dobäizemaachen Konten
Topping Äre Rinkeby Kont mat Ether
Start Kontrakt Migratioun op de Rinkeby Reseau
Gesinn Kontrakt Informatiounen iwwert de Rinkeby Reseau
Trüffel Konsol fir Rinkeby Network
Méi einfach Manéier Kontrakt Funktiounen ze ruffen
Opruff Kontrakt Methoden benotzt Node.js
Transfert Fongen tëscht Konten an der Truffle Konsole fir Rinkby
Lektioun Resumé

Lektioun 10. Ethereum Swarm dezentraliséiert Daten StockageWéi funktionnéiert Ethereum Swarm?
Swarm installéieren a starten
Operatiounen mat Dateien a Verzeichnisser
Eroplueden vun enger Datei op Ethereum Swarm
Liest eng Datei aus Ethereum Swarm
Kuckt de Manifest vun enger eropgelueden Datei
Luede Verzeichnisser mat Ënnerverzeechnes
Liest eng Datei aus engem erofgeluede Verzeechnes
Benotzt eng ëffentlech Swarm Paart
Zougang zu Swarm vun Node.js Scripten
Perl Net :: Ethereum :: Schwarm Modul
Installéiere vum Net :: Ethereum :: Swarm Modul
Schreiwen a liesen Daten
Lektioun Resumé

Lektioun 11. Web3.py Kader fir eng Aarbecht mat Ethereum am PythonWeb3.py installéieren
Aktualiséierung an Installatioun néideg Pakete
Installatioun vum easysolc Modul
Verëffentlechung vun engem Kontrakt mat Web3.py
Kontrakt Zesummesetzung
Verbindung mat engem Provider
Verëffentlechung vum Kontrakt ausféieren
Spueren de Kontrakt Adress an Abi an engem Fichier
Leeft de Kontrakt Verëffentlechungsskript
Opruff Kontrakt Methoden
Liest d'Adress an d'Abi vun engem Kontrakt aus enger JSON Datei
Verbindung mat engem Provider
Erstellt e Kontraktobjekt
Opruff Kontrakt Methoden
Trüffel an Web3.py
Lektioun Resumé

Lektioun 12. OraclesKann e Smart Kontrakt Daten aus der Äussewelt vertrauen?
Oracles als Blockchain Informatiounsintermédiairen
Datenquell
Code fir Daten aus der Quell ze representéieren
Oracle fir den Austausch Taux am Blockchain opzehuelen
USDRateOracle Kontrakt
Aktualiséierung vum Wechselkurs an engem Smart Kontrakt
Benotzt e Web Socket Provider
Waart op RateUpdate Event
Veraarbechtung vum RateUpdate Event
Initiéieren vun engem Dateaktualiséierung an engem Smart Kontrakt
Lektioun Resumé

Source: will.com

Setzt e Commentaire