Ethereum Private Network - Creëer je eigen Ethereum Blockchain!



In deze Ethereum Private Network-zelfstudie leert u hoe u uw eigen Ethereum Blockchain kunt maken en hoe u een transactie tussen twee accounts kunt uitvoeren.

In de vorige Truffel Ethereum-zelfstudie , heb je Truffle Suite leren kennen en een Ethereum DApp. Om een ​​complexe ethereum-applicatie te ontwikkelen, moet u deze op een particulier netwerk uitvoeren om te zien hoe het werkt voordat u het implementeert. Dus in deze Ethereum Private Network-zelfstudie leert u hoe u een Privé Ethereum-netwerk en hoe u een transactie tussen twee rekeningen uitvoert.

Geïnteresseerd in Ethereum Development? Bekijk de Live .





Ethereum Private Network-zelfstudie

Dit zijn de onderwerpen die ik in deze tutorial zal behandelen:

Wat is Ethereum Private Network?

Een Ethereum Private Network is een volledig privé Blockchain die is geïsoleerd van het Main Ethereum-netwerk. Ethereum Private Network wordt voornamelijk gemaakt door organisaties om de leesrechten van de Blockchain te beperken. Alleen de knooppunten met de juiste machtigingen hebben toegang tot deze Blockchain. De knooppunten in dit netwerk zijn niet verbonden met de hoofdnetwerkknooppunten en hun bereik is alleen beperkt tot deze private Blockchain.



Privé en openbaar -Ethereum Private Network-tutorial - Edureka

Waarom wordt Ethereum Private Network gebruikt?

Ethereum Private Network wordt door organisaties gebruikt om privégegevens op te slaan die niet zichtbaar mogen zijn voor mensen buiten hun organisatie. Ethereum Private Network wordt ook gebruikt voor het testen en experimenteren van de Blockchain als iemand de openbare testnetwerken niet wil gebruiken.

Kenmerken van Ethereum Private Network

Zoals vermeld in de vorige sectie, wordt Ethereum Private Network gebruikt voor testdoeleinden. Maar waarom zou iemand de moeite nemen om een ​​nieuw netwerk te creëren als er al openbare testnetwerken beschikbaar zijn? Welnu, Ethereum Private Network heeft zijn eigen reeks functies, zoals hieronder vermeld:



  • Het fungeert als een gedistribueerde database
  • Blockchain in het Ethereum Private Network kan privégegevens bevatten (omdat het netwerk niet openbaar is)
  • Toegang kan gebaseerd zijn op toestemming
  • Transacties uitvoeren kan gratis zijn
  • Accounts kunnen worden toegewezen met ethersdoor onszelf, waarvoor het niet eens nodig is om virtuele ethers te kopen

Laten we verder gaan naar het praktische deel van deze Ethereum Private Network-zelfstudie.

Ethereum installeren op Ubuntu

Om een ​​Ethereum Private Network te creëren, moeten we eerst Ethereum in ons systeem hebben geïnstalleerd. In dit gedeelte van Ethereum Private Network-zelfstudie leert u hoe u Ethereum op Ubuntu installeert.

Voer de volgende opdrachten uit in een terminal om Ethereum te installeren:

$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Gedaan! Hiermee wordt Ethereum op uw systeem geïnstalleerd.

Laten we beginnen met het maken van een privénetwerk.

Demo: Ethereum Private Network creëren en een transactie uitvoeren

In deze Ethereum Private Network-zelfstudie sturen we ethersvan de ene rekening naar de andere en dus hebben we rekeningen nodig. Laten we nu eens kijken hoe u accounts voor onze Blockchain kunt maken.

Accounts aanmaken voor Ethereum Private Network

Voordat we nieuwe accounts maken, moeten we een nieuwe directory voor onze werkplek maken. Raadpleeg de onderstaande opdrachten om dit te doen:

$ mkdir privé-ethereum $ cd privé-ethereum

Om een ​​transactie te kunnen doen, hebben we minimaal twee accounts nodig: een ontvanger en een afzender.

Om twee accounts aan te maken, voert u de volgende opdracht twee keer uit:

$ geth --datadir ./datadir account nieuw

Voer het wachtwoordzin voor elk account wanneer daarom wordt gevraagd. Vergeet deze wachtwoordzin niet!

Zodra deze opdrachten met succes zijn uitgevoerd, worden er twee accounts gemaakt en wordt het accountadres op het scherm weergegeven.

Bewaar deze adressen ergens, want we gaan deze verder gebruiken.

Genesis-bestand maken

Een Genesis-bestand bevat de eigenschappen die de Blockchain definiëren. Een Genesis-bestand is het startpunt van de Blockchain en daarom is het verplicht om het Genesis-bestand te maken om een ​​Blockchain te maken. Laten we nu de Genesis makenhet dossier.

Maak eerst een bestand met de naam genesis.json

$ nano genesis.json

En kopieer en plak nu de volgende code in dat bestand:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'moeilijkheidsgraad': '400', 'gasLimit': ' 2000000 ',' alloc ': {' 82c440bba462220c9b54600e584373014706c177 ': {' balans ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {' balance0000 }00 }0000

Opmerking: Vervang in de bovenstaande code het adres onder alloc sectie met het adres van de accounts die u in de vorige stap heeft aangemaakt.

Sla het op en sluit af.

Laat me de inhoud van het Genesis-bestand in het kort uitleggen:

standaardwaarde van char in java

chainId - Dit is het kettingidentificatienummer dat wordt gebruikt om onderscheid te maken tussen Blockchains
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - deze eigenschappen hebben betrekking op chain forking en versioning. We hebben deze niet nodig voor onze tutorial, dus laten we ze op 0 zetten.
moeilijkheid - Dit nummer bepaalt hoe moeilijk het is om de blokken te delven. Voor privénetwerken is het goed om een ​​lager getal in te stellen, omdat u dan snel blokken kunt minen, wat resulteert in snelle transacties.
gasLimit - Dit getal is de totale hoeveelheid gas die in elk blok kan worden gebruikt. We willen niet dat ons netwerk de limiet bereikt, dus hebben we dit hoog gelegd.
alloc - Dit deel wordt gebruikt om ethers toe te wijzen aan reeds aangemaakte accounts.

Het Genesis-bestand is klaar. Nu is het tijd om de Blockchain te starten.

Data Directory instantiëren

Voordat we de Blockchain starten, moeten we de datadirectory instantiëren. De Data Directory is de directory waar de gegevens met betrekking tot de Blockchain worden opgeslagen. Voer de volgende opdracht uit om de datadirectory te instantiëren:

$ geth --datadir ./myDataDir init ./genesis.json

Bij een succesvolle instantiatie zou u de volgende uitvoer moeten zien:

Nu de Data Directory geïnstantieerd is, kunnen we nu de Blockchain starten.

Ethereum Private Blockchain starten

Voer de volgende opdracht uit om de Blockchain te starten:

$ geth --datadir ./myDataDir --networkid 1114 console 2 >> Eth.log

Gedaan! Uw privé Ethereum Blockchain is actief.

In het bovenstaande commando sturen we alle logboeken in een apart bestand met de naam Eth.log . Geth maakt automatisch een nieuw bestand aan als het niet wordt gevonden.

De uitvoer van deze code zou er ongeveer zo uit moeten zien:

Nu zijn we het geth troosten waar we opdrachten kunnen uitvoeren voor onze Blockchain.

wat is heeft een relatie in java

Logboeken lezen

In het vorige gedeelte zei ik dat we de logboeken in een ander bestand opslaan. In dit gedeelte zal ik u vertellen hoe u de logboeken uit dit bestand kunt lezen.

We zullen de logboeken van een aparte terminal lezen, dus laten we eerst een nieuwe terminal openen. Eerste,overschakelen naar de privé-ethereum directory en voer vervolgens de volgende opdracht uit om de logboeken te lezen:

$ tail -f Eth.log

U kunt nu de logboeken in de terminal zien. Deze logboeken worden dynamisch bijgewerkt wanneer er activiteit is in de Blockchain.

Accounts importeren naar privénetwerk

U herinnert zich misschien dat we twee accounts hebben gemaakt om transacties uit te voeren. Maar we hebben deze accounts niet aan ons netwerk toegevoegd. Dus in dit gedeelte van de Ethereum Private Network-zelfstudie zal ik u vertellen hoe u de accounts kunt importeren.

Wanneer we een account aanmaken, worden alle gegevens van het account opgeslagen in een UTC het dossier in de map vermeld tijdens het aanmaken van het account ./datadir/keystore ). Om de accounts te importeren, moeten we deze bestanden kopiëren en in het keystore directory onder de Data Directory(pad: ./myDataDir/keystore )

Dat is alles! De rekeningen worden geïmporteerd. Simpel, is het niet? Om de import te verifiëren, voeren we de volgende opdracht uit in het geth troosten.

> eth.accounts

Dit toont een lijst met alle beschikbare accounts.

Om het saldo van deze rekeningen te controleren, gebruiken we het volgende commando:

> web3.fromWei (eth.getBalance (), 'ether')

We staan ​​klaar met alles wat nodig is om een ​​transactie te doen. Waarom wachten? Laten we het doen!

Een transactie uitvoeren

In deze Ethereum Private Network-tutorial zullen we enkele ethers sturenvan het ene account naar het andere.

De syntaxis om ethers te verzenden is als volgt:

> eth.sendTransaction ({from: 'address', to: 'address', waarde: web3.toWei (bedrag, 'ether')})

We sturen 1000 ethers van account 1 naar account 2 met behulp van het volgende commando:

> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], value: web3.toWei (1000, 'ether')})

Werkte niet? Maakt u zich geen zorgen. Werkte ook niet voor mij. Dit komt doordat het account standaard is vergrendeld en geen transacties toestaat.

Dus eerst moeten we het afzenderaccount ontgrendelen. Weet je nog de wachtwoordzin die je hebt gebruikt bij het aanmaken van het account? Nou, dat moet je, want je zult dat moeten gebruiken om het account te ontgrendelen. We ontgrendelen het account met het volgende commando:

personal.unlockAccount (eth.accounts [0], '')

Nu zullen we ethers sturenmet succes:

> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], value: web3.toWei (1000, 'ether')})

Dit zou een transactie-ID moeten retourneren.

Gedaan! U heeft met succes een transactie uitgevoerd!

Laten we het saldo in beide rekeningen controleren om de transactie te verifiëren.

> web3.fromWei (eth.getBalance ('0x82c440bba462220c9b54600e584373014706c177'), 'ether')
> web3.fromWei (eth.getBalance ('0x9db5b590fdecc10cdb04b85a3503e94e61b207ca'), 'ether')

Ja! We kunnen die 1000 ethers zienwerden van het ene account naar het andere gestuurd!

Gefeliciteerd! U heeft een Ethereum Private Network aangemaakt en een transactie uitgevoerd. Ik hoop dat deze Ethereum Private Network-tutorial informatief was en je hielp meer te weten over Ethereum Private Network. Ga nu je gang en probeer te experimenteren met het nieuw gecreëerde privénetwerk.

Heeft u een vraag voor ons? Plaats het op en we nemen zo snel mogelijk contact met u op.

Als je Blockchain wilt leren en een carrière in Blockchain Technologies wilt opbouwen, bekijk dan onze die wordt geleverd met live training onder leiding van een instructeur en real-life projectervaring. Deze training helpt je op een uitputtende manier te begrijpen wat Blockchain is en helpt je om het onderwerp onder de knie te krijgen.