Maison  >  Article  >  Opération et maintenance  >  Qu'est-ce que Geth dans Docker

Qu'est-ce que Geth dans Docker

青灯夜游
青灯夜游original
2022-02-21 16:41:222753parcourir

Dans Docker, Geth fait référence au logiciel client officiel fourni par la Fondation Ethereum, écrit dans le langage de programmation Go ; le client Geth fournit une console de commande interactive, qui contient diverses fonctions de la fonction Ethereum.

Qu'est-ce que Geth dans Docker

L'environnement d'exploitation de ce tutoriel : système linux5.9.8, version docker-1.13.1, ordinateur Dell G3.

Qu'est-ce que geth

Geth est le logiciel client officiel fourni par la Fondation Ethereum et est écrit dans le langage de programmation Go. Geth fournit une console de commande interactive qui contient diverses fonctions (API) d'Ethereum. Le nom complet est Go-Ethereum. "Docker déploie le client Geth" euh, cours premiers paramètres

Parce que si l'image officielle est démarrée directement, elle sera par défaut geth et se synchronisera directement avec le réseau principal. Nous ne voulons certainement pas qu'elle soit synchronisée directement. La commande est la suivante

docker pull ethereum/client-go
-v signifie. pour monter des fichiers locaux

--véritable autorisation sudo privilégiée

--script d'entrée du point d'entrée, s'il existe, il écrasera l'instruction dans le fichier docker

J'ai choisi d'initialiser la chaîne privée dans ce script. Comment initialiser peut être. vu dans le tutoriel officiel et mon article précédent

Mon script

docker run -d -it --name=node0  -u root -p 8545:8545 -p 30303:30303 -v E:\eth:/root --privileged=true --entrypoint /root/a.sh ethereum/client-go
Quatrième chaîne privée de démarrage

Un problème à noter ici est que les paramètres de démarrage ont été à nouveau mis à jour

Auparavant, c'était --rpc --rpcapi , mais maintenant, il est remplacé par --http balabala

Options de l'API JSON-RPC basées sur HTTP :

--http Activez le serveur HTTP-RPC

--http. addr Interface d'écoute du serveur HTTP-RPC (par défaut : localhost)

--http.port Port d'écoute du serveur HTTP-RPC (par défaut : 8545 )

--http.api API proposées sur l'interface HTTP-RPC (par défaut : <code>eth,net,web3)

-- http.corsdomain Liste de domaines séparés par des virgules à partir desquels accepter les requêtes d'origine croisée (appliquées par le navigateur)

--ws Activez le serveur WS-RPC

--ws. addr Interface d'écoute du serveur WS-RPC (par défaut : localhost)

--ws.port Port d'écoute du serveur WS-RPC (par défaut : 8546 )

--ws.api API proposées sur l'interface WS-RPC (par défaut : <code>eth,net,web3)

    -- ws.origins Origines à partir desquelles accepter les requêtes websockets
  • --http Enable the HTTP-RPC server
  • --http.addr HTTP-RPC server listening interface (default: localhost)
  • --http.port HTTP-RPC server listening port (default: 8545)
  • --http.api API's offered over the HTTP-RPC interface (default: eth,net,web3)
  • --http.corsdomain Comma separated list of domains from which to accept cross origin requests (browser enforced)
  • --ws Enable the WS-RPC server
  • --ws.addr WS-RPC server listening interface (default: localhost)
  • --ws.port WS-RPC server listening port (default: 8546)
  • --ws.api API's offered over the WS-RPC interface (default: eth,net,web3)
  • --ws.origins Origins from which to accept websockets requests
  • --ipcdisable Disable the IPC-RPC server
  • --ipcapi API's offered over the IPC-RPC interface (default: admin,debug,eth,miner,net,personal,shh,txpool,web3)
  • --ipcpath --ipcdisable Désactivez le serveur IPC-RPC
--ipcapi API proposées sur l'IPC- Interface RPC (par défaut : admin,debug,eth,miner, net,personal,shh,txpool,web3)

--ipcpath Nom de fichier pour le socket/pipe IPC dans le datadir (des chemins explicites y échappent)

Alors maintenant la commande de démarrage C'est tout

#!/bin/sh
#初始化创世区块
geth -datadir  /root/data init /root/gener.json

if [  $# -lt 1 ]; then 
  exec "/bin/sh"
else
  exec /bin/sh -c "$@"
fi

La prochaine chose à faire est de faire ce que vous voulezTestez-le avec une connexion web3

geth --networkid 666 --http --http.addr=0.0.0.0 --http.port=8545 --http.api "web3,eth,debug,personal,net" --http.corsdomain "*" --allow-insecure-unlock --datadir /root/data  console 2>>geth.log
🎜Apprentissage recommandé : "🎜Tutoriel vidéo Docker 🎜"🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn