A Golang client that supports both Ethereum and Ethereum Classic.
1.3K
Maintainer: [email protected]
This Docker image provides a fully functional Core-Geth client built using the Fiftysix base image. Core-Geth is the execution engine for the Ethereum Classic (ETC) network, responsible for processing transactions, executing smart contracts, and maintaining the state of the Ethereum Classic blockchain. Core-Geth can also be used to run the Ethereum network, as documented here. This image is ideal for developers, blockchain enthusiasts, and institutions looking to participate in the Ethereum/Ethereum Classic networks. The code can be viewed on the Fiftysix Github.
latest: Points to the latest version of Core-Geth.<version>: Points to a specific version of Core-Geth. For example, 1.12.19, 1.12.20.Core-Geth is an Ethereum client implemented in Go, operating as the execution engine in the Ethereum or Ethereum Classic networks. Core-Geth is responsible for transaction processing, smart contract execution, and maintaining the state of the Ethereum/Ethereum Classic blockchains. It supports various Ethereum chains, including Ethereum Mainnet, Ethereum Classic, Mordor testnet, and more.
To run Core-Geth effectively as an execution engine, you'll need a system with sufficient storage and memory. Core-Geth is designed to work as a standalone execution engine for the Ethereum Classic network, or as an execution engine for the Ethereum network.
To run a Core-Geth node:
docker pull fiftysix/core-geth
docker run --name core-geth -d fiftysix/core-geth
This command will start the Core-Geth container, exposing the default RPC and P2P ports.
In this Docker image, the following directories are used:
/node/core-geth/data): This is where Core-Geth stores blockchain data and other related files. This directory is specified in the Dockerfile and should be mounted if you want to persist data across container restarts./node/core-geth/configs): This directory is used for storing configuration files for Core-Geth. The Dockerfile copies a default config.toml configuration file here, which can be customized./node/core-geth/scripts): This directory contains the entrypoint script (core-geth-entrypoint.sh) and any other scripts that may be needed for starting or managing Core-Geth.You can mount host directories to the container’s data, config, and scripts directories to customize the behavior of the Core-Geth software.
Mounting the Data Directory: To persist Core-Geth data across container restarts, you can mount a host directory to the container's data directory:
docker run --name core-geth -v /path/to/local/data:/node/core-geth/data -d fiftysix/core-geth
This command mounts the /path/to/local/data directory on your host to /node/core-geth/data in the container, ensuring that blockchain data is preserved between container instances.
Mounting a Config File:
To use a custom Core-Geth configuration file, mount your configuration file to the container’s config directory and specify it using the --config flag:
docker run --name core-geth -v /path/to/local/config.toml:/node/core-geth/configs/config.toml -d fiftysix/core-geth \
--config="/node/core-geth/configs/config.toml"
This command mounts your custom config.toml file to the container’s config directory and instructs Core-Geth to use it.
Mounting the Scripts Directory: If you have custom scripts you want to include, you can mount them to the scripts directory. For example, to replace the entrypoint script:
docker run --name core-geth -v /path/to/local/scripts:/node/core-geth/scripts -d fiftysix/core-geth
This command mounts your local scripts directory to /node/core-geth/scripts in the container, allowing you to customize the startup behavior.
docker logs core-geth --tail 100
To start Core-Geth with custom options, such as enabling RPC or specifying network parameters, you can pass additional flags to the geth command:
docker run --name core-geth -d \
-p 8545:8545 -p 8546:8546 -p 30303:30303 -p 30303:30303/udp \
fiftysix/core-geth \
--classic --http --http.addr "0.0.0.0" --http.port 8545 --http.corsdomain "*" --http.api "eth,net,web3" \
--syncmode "fast" --networkid 1
This command starts Core-Geth with the HTTP RPC server enabled, listening on port 8545, with fast synchronization mode and connected to Ethereum Classic mainnet.
The following ports are commonly used by Core-Geth and are exposed in this Docker image:
Core-Geth can also be run using Docker Compose. A Docker Compose file is available to run Core-Geth for Ethereum Classic. Example Compose files can be found on the Fiftysix Github.
For support, please contact [email protected].
Fiftysix is committed to making blockchain technology accessible, efficient, and reliable through robust decentralization. Learn more at fiftysix.xyz.
Content type
Image
Digest
sha256:74eec1b6b…
Size
218.8 MB
Last updated
22 days ago
docker pull fiftysix/core-geth