Hogyan futtatható a GETH egy Docker-tárolóból

Az Ethereum csomópont kliens gépre történő telepítése unalmas folyamat lehet. Van egy egyszerűbb módja ennek a Docker kliens használatával. Ez az útmutató a GETH (Ethereum-Go) csomópont kliens futtatásához a Docker tárolóból. A GETH az Ethereum protokoll GoLang megvalósítása. Van egy kép, amelyet a Docker hub adattárából lehet letölteni, és amely képes futtatni a környezetet.

A GoEthereumweboldala következő elérhető képeket sorolja fel leírásokkal.

  • ethereum/client-go:latest a Geth legújabb verziója
  • ethereum/client-go:stable a Geth legújabb stabil változata
  • ethereum/client-go:{version} a Geth stabil változata egy adott verziószámnál
  • ethereum/client-go:release-{version} a Geth legújabb stabil változata egy adott verziócsaládon

A következő portok alapértelmezés szerint megnyílnak, amikor a tárolóból futnak.

  • 8545 TCP, amelyet a HTTP alapú JSON RPC API használ
  • 8546 TCP, amelyet a WebSocket alapú JSON RPC API használ
  • 30303 TCP és UDP, amelyeket a hálózatot futtató P2P protokoll használ
  • 30304 UDP, amelyet a P2P protokoll új peer discovery fedvénye használ

A Docker kliens szoftvert telepíteni kell arra a gépre, amelyről a tárolót futtatni kívánja. A tárolók csak akkor futhatnak, ha telepítve van a Docker kliens. Az operációs rendszertől függően a kliens megfelelő verziójára lesz szükség.

Külön verziók vannak a Windows, a Linux és a MacOS számára. A tároló akár egy AWS-en futó Linux-példányon is futtatható, mint egy tipikus Linux-telepítés. A Docker kliens telepítése után az alapul szolgáló platform nem számít. A parancsok mindenki számára azonosak lesznek.

A kép megszerzése

Nyisson meg egy terminált Linux vagy MacOS rendszeren, vagy a PowerShell parancssorát a Windows rendszerből. A CLI parancssorba írja be a következő parancsot:

dokkoló pull ethereum / client-go

Ez előhúzza a Docker képet a hub tárházból, ahová az Ethereum fejlesztői feltöltötték. Miután kiadta ezt a parancsot, a következő részleteket vagy hasonlóakat kell megjeleníteni:

Már húztam a képet, így a verbózus másképp nézhet ki. A pull parancs kiadásakor mindig a legfrissebb elérhető képet tölti le, ami jó gyakorlat.

A csomópont futtatása

Most a következő parancs kiadásával indíthatja el a csomópontot:

A csomópontot az -i és -t jelző opciókkal szeretnénk futtatni a tárolónkból származó információk megjelenítéséhez. A -p jelzi a portszám használatát, ebben az esetben a 30303-at. Hasonlóképpen, a parancs futtatható zászlók nélkül is, és egyszerűen a tároló belsejéből fogja használni az alapértelmezett portokat és beállításokat.

A következő információknak kell megjelenniük a terminálról.

A konfigurációt megjelenítő INFO sorból kiderül, hogy a csomópont kliens szoftver mit telepített. A csomópont kliens az Ethereum szoftver legújabb (a közzététel időpontjától kezdve) verzióját futtatja, amely Konstantinápoly, amely egy felhasználó által aktivált keményvilla a 7280000 blokkmagasságban.

A JSON-RPC API-ban történő futtatáskor:

Vegye figyelembe, hogy az rpcaddr „0.0.0.0” opció futtatása nem biztonságos, mivel megnyitja csomópontját az összes forgalom számára. Ha az ETH pénztárcáját kinyitotta, egy hacker így eljuthat a csomópontjához, és elviheti az érméit. Ebben a cikkben nem foglalkozom a biztonsággal, de erről itt többet olvashat (a GETH csomópont RPC-portjainak biztosítása). Mindig tartsa be a biztonságos és legjobb gyakorlatokat.

Ha a csomópont a következőket jeleníti meg az INFO sorban, akkor probléma adódik:

config = ”{ChainID: 1 tanya: 1150000 DAO: 1920000 DAOS támogatás: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000 Bizánc: 4370000 Konstantinápoly: Motor: ethash}”

Konstantinápoly: azt jelzi, hogy a szoftvert nem frissítették. Nincs is sor a ConstantinopleFix számára, amely a megfelelő konfigurációban jelenik meg.

Állandó adatok

A tartós blokklánc-adatokhoz a Docker-adatköteteket a -v opcióval kell használni . A /path/on/hostjelet ki kell cserélni a megadott helyre. Ehhez a következő parancsot kell használni:

A csomópont állapotának ellenőrzése

A konténer állapotát a következő paranccsal ellenőrizheti:

dokkoló ps

Ez megjeleníti a tárolóazonosítót a kép nevével, állapotával és a használt portokkal.

 #These are the commands to run from the Docker CLI to run the Ethereum Go node client #GETTING THE IMAGE docker pull ethereum/client-go #RUNNING THE NODE docker run -it -p 30303:30303 ethereum/client-go #RUNNING NODE USING API docker run -it -p 8545:8545 -p 30303:30303 ethereum/client-go --rpc --rpcaddr "0.0.0.0" #Note, warning about using --rpcaddr "0.0.0.0" in a live environment. It is an insecure way of opening your node. #There are different ways to secure your ports, but this is one thing to take note of if you plan to use the API. #PERSISTENT DATA docker run -it -p 30303:30303 -v /path/on/host:/root/.ethereum ethereum/client-go

Vegye figyelembe, hogy ez nem bányássza automatikusan az ETH-t. Ez egy másik folyamat. Az Ethereum blokklánc gyors eléréséhez ez a GETH futtatásának célja.

A teljes kódforrásért látogassa meg a következő oldalt: //github.com/Play3rZer0/GETHDocker.git