Privátní síť Ethereum - vytvořte si svůj vlastní blockchain Ethereum!



V tomto výukovém programu Ethereum Private Network se naučíte, jak vytvořit svůj vlastní Ethereum Blockchain a jak provést transakci mezi dvěma účty.

V předchozím Výukový program pro lanýže Ethereum , jste se dozvěděli o Truffle Suite a vyvinuli Ethereum DApp. Chcete-li vyvinout složitou aplikaci ethereum, budete ji chtít spustit v soukromé síti a před nasazením zjistit, jak funguje. V tomto výukovém programu privátní sítě Ethereum se tedy naučíte, jak vytvořit Soukromá síť Etherea a jak provést transakci mezi dvěma účty.

Zajímá vás vývoj etherea? Podívejte se na Live .





Výukový program privátní sítě Ethereum

Toto jsou témata, kterým se budu v tomto tutoriálu věnovat:

Co je to privátní síť Ethereum?

Privátní síť Ethereum je zcela soukromý blockchain, který je izolován od hlavní sítě Ethereum. Privátní síť Ethereum je vytvářena hlavně organizacemi k omezení oprávnění ke čtení Blockchainu. K tomuto Blockchainu budou mít přístup pouze uzly se správnými oprávněními. Uzly v této síti nejsou připojeny k hlavním síťovým uzlům a jejich dosah je omezen pouze na tento soukromý Blockchain.



Výukový program Soukromé a veřejné - Privátní síť Ethereum - Edureka

Proč se používá privátní síť Ethereum?

Privátní síť Ethereum používají organizace k ukládání soukromých dat, která by neměla být viditelná pro lidi mimo jejich organizaci. Privátní síť Ethereum se také používá k testování a experimentování Blockchainu, pokud někdo nechce používat veřejné testovací sítě.

Vlastnosti privátní sítě Ethereum

Jak bylo uvedeno v předchozí části, pro účely testování se používá privátní síť Ethereum. Proč by si ale někdo vzal problém s vytvořením nové sítě, když už jsou k dispozici veřejné testovací sítě? Ethereum Private Network má vlastní sadu funkcí, které jsou uvedeny níže:



  • Funguje jako distribuovaná databáze
  • Blockchain v privátní síti Ethereum může obsahovat soukromá data (protože síť není veřejná)
  • Přístup může být založen na oprávnění
  • Provádění transakcí může být zdarma
  • Účty lze přidělit pomocí etherůsami, což nevyžaduje ani nákup virtuálních etherů

Pokračujeme, pojďme k praktické části tohoto tutoriálu privátní sítě Ethereum.

Instalace Etherea na Ubuntu

Abychom mohli vytvořit privátní síť Ethereum, musíme nejprve mít v našem systému nainstalované Ethereum. V této části Výukového programu privátní sítě Ethereum se naučíte, jak nainstalovat Ethereum na Ubuntu.

Chcete-li nainstalovat Ethereum, spusťte v terminálu následující příkazy:

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

Hotovo! Tím se nainstaluje Ethereum do vašeho systému.

Začněme vytvořením privátní sítě.

Demo: Vytvoření privátní sítě Ethereum a provedení transakce

V tomto výukovém programu privátní sítě Ethereum zašleme etheryz jednoho účtu na druhý a tak potřebujeme účty. Podívejme se, jak vytvořit účty pro náš Blockchain.

Vytváření účtů pro privátní síť Ethereum

Před vytvořením nových účtů vytvořme nový adresář pro naše pracoviště. Postupujte podle níže uvedených příkazů:

$ mkdir private-ethereum $ cd private-ethereum

K provedení transakce potřebujeme alespoň dva účty: příjemce a odesílatele.

Chcete-li vytvořit dva účty, dvakrát spusťte následující příkaz:

$ geth --datadir ./datadir účet nový

Zadejte přístupová fráze na požádání pro každý účet. Nezapomeňte na tuto přístupovou frázi!

Po úspěšném spuštění těchto příkazů budou vytvořeny dva účty a na obrazovce se zobrazí adresa účtu.

Tyto adresy někam uložte, protože je budeme dále používat.

Vytváření souboru Genesis

Soubor Genesis obsahuje vlastnosti, které definují Blockchain. Soubor Genesis je počátečním bodem Blockchainu, a proto je pro vytvoření Blockchainu nutné vytvořit soubor Genesis. Nyní vytvořme Genesissoubor.

Nejprve vytvořte soubor s názvem genesis.json

$ nano genesis.json

A nyní zkopírujte a vložte následující kód do tohoto souboru:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'obtížnost': '400', 'gasLimit': ' 2000000 ',' alloc ': {' 82c440bba462220c9b54600e584373014706c177 ': {' zůstatek ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00 '00

Poznámka: Ve výše uvedeném kódu nahraďte adresu pod alokace sekce s adresou účtů, které jste vytvořili v předchozím kroku.

Uložte to a ukončete.

Dovolte mi stručně vysvětlit obsah souboru Genesis:

chainId - Toto je identifikační číslo řetězce, které se používá k rozlišení mezi blockchainy
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - tyto vlastnosti souvisejí s rozvětvením řetězu a verzí. Pro náš výukový program je nepotřebujeme, nastavme je tedy na 0.
obtížnost - Toto číslo rozhoduje o tom, jak obtížné budou bloky těžit. U soukromých sítí je dobré nastavit nižší počet, protože vám umožní rychle těžit bloky, což má za následek rychlé transakce.
gasLimit - Toto číslo je celkové množství plynu, které lze použít v každém bloku. Nechceme, aby naše síť dosáhla limitu, proto jsme nastavili toto maximum.
alokace - Tato část se používá k přidělení etherů k již vytvořeným účtům.

Soubor Genesis je připraven. Nyní je čas zahájit Blockchain.

Vytváření instancí datového adresáře

Před spuštěním Blockchainu musíme vytvořit instanci datového adresáře. Datový adresář je adresář, kde jsou uložena data související s blockchainem. Chcete-li vytvořit instanci datového adresáře, spusťte následující příkaz:

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

Při úspěšném vytvoření instance byste měli vidět následující výstup:

S instancí datového adresáře můžeme nyní spustit Blockchain.

Spouštění soukromého blockchainu Ethereum

Blockchain spustíte spuštěním následujícího příkazu:

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

Hotovo! Váš soukromý Ethereum Blockchain je funkční.

Ve výše uvedeném příkazu posíláme všechny protokoly do samostatného souboru s názvem Eth.log . Geth automaticky vytvoří nový soubor, pokud není nalezen.

Výstup tohoto kódu by měl vypadat asi takto:

Nyní jsme vstoupili do sakra řídicí panel kde můžeme spouštět příkazy pro náš Blockchain.

Čtení protokolů

V předchozí části jsem se zmínil, že ukládáme protokoly do jiného souboru. V této části vám řeknu, jak číst protokoly z tohoto souboru.

Budeme číst protokoly ze samostatného terminálu, takže si nejprve otevřete nový terminál. Za prvé,přepnout na soukromé-ethereum adresář a potom spusťte následující příkaz ke čtení protokolů:

$ tail -f Eth.log

Nyní můžete vidět protokoly v terminálu. Tyto protokoly se dynamicky aktualizují, kdykoli je v Blockchainu nějaká aktivita.

Import účtů do privátní sítě

Možná si pamatujete, že jsme za účelem provádění transakcí vytvořili dva účty. Ale tyto účty jsme do naší sítě nepřidali. V této části tutoriálu privátní sítě Ethereum vám tedy řeknu, jak importovat účty.

Když vytvoříme účet, všechny podrobnosti o účtu se uloží do a UTC soubor v adresáři uvedeném při vytváření účtu (cesta: ./datadir/keystore ). Chcete-li importovat účty, musíme tyto soubory zkopírovat a vložit do úložiště klíčů v adresáři dat(cesta: ./myDataDir/keystore )

To je vše! Účty se importují. Jednoduché, že? K ověření importu spustíme následující příkaz v sakra řídicí panel.

> et.účty

Zobrazí se seznam všech dostupných účtů.

Ke kontrole zůstatku na těchto účtech použijeme následující příkaz:

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

Jsme připraveni na vše potřebné k provedení transakce. Proč čekat? Pojďme na to!

co je virtuální metoda

Provedení transakce

V tomto výukovém programu privátní sítě Ethereum pošleme několik etherůz jednoho účtu do druhého.

Syntaxe pro odesílání etherů je následující:

> eth.sendTransaction ({from: ”address”, to: ”address”, value: web3.toWei (amount, 'ether')})

Zašleme 1 000 etherů z účtu 1 na účet 2 pomocí následujícího příkazu:

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

Nepracoval? Nebojte se Nepracoval také pro mě. Důvodem je, že účet je ve výchozím nastavení uzamčen a neumožňuje transakce.

Nejprve tedy musíme odemknout účet odesílatele. Pamatujete si heslo, které jste použili při vytváření účtu? Musíte, protože to budete muset použít k odemčení účtu. Účet odemkneme následujícím příkazem:

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

Nyní pošleme etheryúspěšně:

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

To by mělo vrátit ID transakce.

Hotovo! Úspěšně jste provedli transakci!

Abychom transakci ověřili, zkontrolujme zůstatek na obou účtech.

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

Jo! Vidíme, že 1 000 etherůbyly odeslány z jednoho účtu do druhého!

Gratulujeme! Vytvořili jste privátní síť Ethereum a provedli transakci. Doufám, že tento tutoriál privátní sítě Ethereum byl poučný a pomohl vám pochopit privátní síť Ethereum. Nyní pokračujte a zkuste experimentovat s nově vytvořenou privátní sítí.

Máte na nás dotaz? Zveřejněte to prosím na a my se vám ozveme.

Pokud se chcete naučit Blockchain a budovat si kariéru v Blockchain Technologies, podívejte se na náš který přichází s živým tréninkem vedeným instruktorem a zkušenostmi z reálného projektu. Toto školení vám pomůže pochopit, co je Blockchain vyčerpávajícím způsobem, a pomůže vám dosáhnout mistrovství v předmětu.