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.
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 suivantedocker pull ethereum/client-go
--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édentMon scriptdocker 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
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 balabalaOptions 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
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!