Ethereum Private Network - Opret din egen Ethereum Blockchain!



I denne Ethereum Private Network-tutorial lærer du, hvordan du opretter din egen Ethereum Blockchain, og hvordan du foretager en transaktion mellem to konti.

I det foregående Truffle Ethereum Tutorial , du lærte om Truffle Suite og udviklede en Ethereum DApp. For at udvikle et komplekst ethereum-program skal du køre det på et privat netværk for at se, hvordan det fungerer, før du implementerer det. Så i denne Ethereum Private Network tutorial lærer du, hvordan du opretter en Privat Ethereum-netværk og hvordan man foretager en transaktion mellem to konti.

Interesseret i Ethereum Development? Tjek Live .





Ethereum Private Network Tutorial

Dette er de emner, jeg vil dække i denne vejledning:

Hvad er Ethereum Private Network?

Et Ethereum Private Network er en helt privat Blockchain, der er isoleret fra Main Ethereum-netværket. Ethereum Private Network oprettes hovedsageligt af organisationer for at begrænse Blockchain's læsetilladelser. Kun knudepunkter med de rigtige tilladelser har adgang til denne Blockchain. Knudepunkterne i dette netværk er ikke forbundet til hovednetværksknudepunkterne, og deres rækkevidde er kun begrænset til denne private Blockchain.



Privat og offentlig -Ethereum Private Network tutorial - Edureka

Hvorfor bruges Ethereum Private Network?

Ethereum Private Network bruges af organisationer til at gemme private data, som ikke skal være synlige for mennesker uden for deres organisation. Ethereum Private Network bruges også til at teste og eksperimentere med Blockchain, hvis nogen ikke vil bruge de offentlige testnetværk.

Funktioner i Ethereum Private Network

Som nævnt i det foregående afsnit bruges Ethereum Private Network til testformål. Men hvorfor ville nogen tage sig besværet med at oprette et nyt netværk, når der allerede er offentlige testnetværk tilgængelige? Nå, Ethereum Private Network har sit eget sæt funktioner som angivet nedenfor:



  • Det fungerer som en distribueret database
  • Blockchain i Ethereum Private Network kan indeholde private data (fordi netværket ikke er offentligt)
  • Adgang kan være tilladelsesbaseret
  • At foretage transaktioner kan være gratis
  • Konti kan tildeles med ethereaf os selv, som ikke engang kræver køb af virtuelle ethere

Lad os komme videre til den praktiske del af denne Ethereum Private Network-tutorial.

streng til dato konverteres i java

Installation af Ethereum på Ubuntu

For at oprette et Ethereum Private Network skal vi først have Ethereum installeret i vores system. I dette afsnit af Ethereum Private Network Tutorial lærer du, hvordan du installerer Ethereum på Ubuntu.

For at installere Ethereum skal du køre følgende kommandoer i en terminal:

$ sudo apt-get install software-egenskaber-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get opdatering $ sudo apt-get install ethereum

Færdig! Dette installerer Ethereum på dit system.

Lad os starte med oprettelsen af ​​det private netværk.

Demo: Oprettelse af Ethereum Private Network og transaktion

I denne Ethereum Private Network Tutorial sender vi etherefra en konto til en anden og så har vi brug for konti. Lad os nu se, hvordan du opretter konti til vores Blockchain.

Oprettelse af konti til Ethereum Private Network

Før vi opretter nye konti, skal vi oprette en ny mappe til vores arbejdsplads. Se nedenstående kommandoer for at gøre dette:

$ mkdir private-ethereum $ cd private-ethereum

For at foretage en transaktion har vi brug for mindst to konti: En modtager og en afsender.

For at oprette to konti skal du køre følgende kommando to gange:

$ geth --datadir ./datadir konto ny

Gå ind i adgangskode for hver konto, når du bliver bedt om det. Glem ikke denne adgangssætning!

Når disse kommandoer kører med succes, oprettes der to konti, og kontoadressen vises på skærmen.

Gem disse adresser et eller andet sted, fordi vi vil bruge disse yderligere.

Oprettelse af Genesis File

En Genesis-fil indeholder de egenskaber, der definerer Blockchain. En Genesis-fil er startpunktet for Blockchain, og det er derfor obligatorisk at oprette Genesis-filen for at oprette en Blockchain. Lad os nu oprette Genesisfil.

Opret først en fil med navnet genesis.json

$ nano genesis.json

Og nu kopier og indsæt følgende kode i den fil:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'vanskelighed': '400', 'gasLimit': ' 2000000 ',' alloc ': {' 82c440bba462220c9b54600e584373014706c177 ': {' balance ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {' balance ': '0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Bemærk: I ovenstående kode skal du erstatte adressen under tildele sektion med adressen på de konti, du oprettede i det forrige trin.

Gem det og afslut.

Lad mig kort forklare indholdet af Genesis-filen:

chainId - Dette er kædeidentifikationsnummeret, der bruges til at skelne mellem Blockchains
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - disse egenskaber er relateret til kædegafling og versionering. Vi har ikke brug for disse til vores tutorial, så lad os indstille dem til 0.
vanskelighed - Dette nummer bestemmer, hvor vanskeligt blokke vil være at mine. For private netværk er det godt at indstille et lavere tal, da det giver dig mulighed for hurtigt at mineblokke, hvilket resulterer i hurtige transaktioner.
gasLimit - Dette tal er den samlede mængde gas, der kan bruges i hver blok. Vi ønsker ikke, at vores netværk skal nå grænsen, så vi har sat dette høje.
tildele - Denne del bruges til at allokere ethere til allerede oprettede konti.

Genesis-filen er klar. Nu er det tid til at starte Blockchain.

Instantiating Data Directory

Før vi starter Blockchain, er vi nødt til at instantiere datakataloget. Datakataloget er det katalog, hvor de data, der er relateret til Blockchain, er gemt. For at instantiere datakataloget skal du køre følgende kommando:

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

Ved vellykket instantiering skal du se følgende output:

Med Data Directory instanseret kan vi nu starte Blockchain.

Start af Ethereum Private Blockchain

For at starte Blockchain skal du køre følgende kommando:

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

Færdig! Din private Ethereum Blockchain er i gang.

I ovenstående kommando sender vi alle logfiler i en separat fil kaldet Eth.log . Geth opretter automatisk en ny fil, hvis den ikke findes.

Output af denne kode skal se sådan ud:

Nu er vi kommet ind i geth konsol hvor vi kan køre kommandoer til vores Blockchain.

Læsning af logfiler

I det forrige afsnit nævnte jeg, at vi lagrer logfiler i en anden fil. I dette afsnit vil jeg fortælle dig, hvordan du læser logfilerne fra denne fil.

Vi læser logfilerne fra en separat terminal, så lad os først åbne en ny terminal. Først,skift til privat-ethereum bibliotek og kør derefter følgende kommando for at læse logfilerne:

$ hale -f Eth.log

Du kan nu se logfilerne i terminalen. Disse logfiler opdateres dynamisk, når der er en eller anden aktivitet i Blockchain.

Import af konti til privat netværk

Du kan huske, at vi oprettede to konti til at foretage transaktioner. Men vi tilføjede ikke disse konti til vores netværk. Så i dette afsnit af Ethereum Private Network tutorial vil jeg fortælle dig, hvordan du importerer kontiene.

Når vi opretter en konto, gemmes alle detaljerne i kontoen i en UTC fil i den mappe, der er nævnt under oprettelse af konto (sti: ./datadir/keystore ). For at importere kontiene skal vi kopiere disse filer og indsætte i keystore under Data Directory(sti: ./myDataDir/keystore )

Det er alt! Kontiene importeres. Simpelt, er det ikke? For at bekræfte importen kører vi følgende kommando i geth konsol.

hvordan man bruger goto i python
> eth.accounts

Dette viser en liste over alle tilgængelige konti.

For at kontrollere saldoen på disse konti bruger vi følgende kommando:

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

Vi er klar med alt, hvad der kræves for at foretage en transaktion. Hvorfor vente? Lad os gøre det!

At foretage en transaktion

I denne Ethereum Private Network-tutorial sender vi nogle etherefra en konto til en anden.

Syntaksen for at sende ethere er som følger:

> eth.sendTransaction ({fra: ”adresse”, til: ”adresse”, værdi: web3.toWei (beløb, 'ether')})

Vi sender 1000 ethere fra konto 1 til konto 2 ved hjælp af følgende kommando:

> eth.sendTransaction ({fra: eth.accounts [0], til: eth.accounts [1], værdi: web3.toWei (1000, 'ether')})

Fungerede ikke? Bare rolig. Fungerede ikke for mig også. Dette skyldes, at kontoen er låst som standard og ikke tillader transaktioner.

Så først skal vi låse afsenderkontoen op. Husk den adgangssætning, du brugte, da du oprettede kontoen? Det skal du, fordi du bliver nødt til at bruge det til at låse kontoen op. Vi låser kontoen op med følgende kommando:

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

Nu sender vi etheresuccesfuldt:

> eth.sendTransaction ({fra: eth.accounts [0], til: eth.accounts [1], værdi: web3.toWei (1000, 'ether')})

Dette skal returnere et transaktions-id.

Færdig! Du har foretaget en transaktion!

Lad os kontrollere saldoen på begge konti for at bekræfte transaktionen.

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

Yay! Vi kan se, at 1000 ethereblev sendt fra en konto til en anden!

Tillykke! Du har oprettet et Ethereum Private Network og foretaget en transaktion. Jeg håber, at denne Ethereum Private Network-tutorial var informativ og hjalp dig med at forstå Ethereum Private Network. Gå nu videre og prøv at eksperimentere med det nyoprettede private netværk.

Har du et spørgsmål til os? Send det venligst på og vi vender tilbage til dig.

Hvis du ønsker at lære Blockchain og opbygge en karriere inden for Blockchain Technologies, så tjek vores som kommer med instruktørstyret live træning og projektoplevelse i det virkelige liv. Denne træning hjælper dig med at forstå, hvad der er Blockchain på en udtømmende måde og hjælper dig med at opnå mestring over emnet.