Prysm (Offchain Labs) consensus client for Ethereum nodes written in Go.
248
Maintainer: [email protected]
This Docker image provides a fully functional Prysm client built using the Fiftysix base image. Prysm is an Ethereum consensus (beacon) client maintained by Offchain Labs. It connects to the Ethereum P2P network, tracks the beacon chain, and works together with a paired execution client to keep a full Ethereum node in sync. It is ideal for developers, blockchain enthusiasts, and institutions looking to participate in the Ethereum network. The code can be viewed on the Fiftysix Github.
latest: Points to the latest version of Prysm.<version>: Points to a specific version of Prysm. For example, 7.1.8.Prysm is an Ethereum consensus client implemented in Go, built and maintained by Offchain Labs. It operates as a beacon node in Ethereum's Proof of Stake (PoS) network, implementing the consensus protocol, tracking validator duties, and communicating with a paired execution client over the authenticated Engine API. Following the merge, a consensus client like Prysm is required alongside an execution client (such as Reth, Geth, Erigon, Besu, or Nethermind) to run a complete Ethereum node.
Prysm cannot run standalone. To run Prysm effectively, you'll need a paired Ethereum execution client (such as
Reth, Geth, Erigon, Besu, or Nethermind) already running, and the exact same JWT secret the execution client
generated (at <execution client's data dir>/jwt.hex) shared into the Prysm container - Prysm must never generate
its own. See the execution/consensus pairing notes
for the full mechanism.
To run a Prysm node paired with an execution client already running on the same Docker network as reth-node:
docker pull fiftysix/prysm
docker run --name prysm -d \
-v /path/to/execution-client/data:/node/prysm/exec-jwt:ro \
fiftysix/prysm \
beacon-chain --execution-endpoint http://reth-node:8551 --jwt-secret /node/prysm/exec-jwt/jwt.hex
This command starts the Prysm container, pointed at the paired execution client's Engine API and shared JWT secret, exposing the default REST API and P2P ports. Prysm's terms of use are automatically accepted non-interactively by this image's entrypoint.
In this Docker image, the following directories are used:
/node/prysm/data): This is where Prysm stores the beacon chain database 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/prysm/scripts): This directory contains the entrypoint script
(prysm-entrypoint.sh) and any other scripts that may be needed for starting or managing Prysm.You can mount host directories to the container's data and scripts directories to customize the behavior of the Prysm software.
Mounting the Data Directory: To persist Prysm data across container restarts, you can mount a host directory to the container's data directory:
docker run --name prysm -v /path/to/local/data:/node/prysm/data -d fiftysix/prysm ...
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 prysm -v /path/to/local/scripts:/node/prysm/scripts -d fiftysix/prysm ...
docker logs prysm --tail 100
To start Prysm with custom options, such as a different HTTP port, pass additional flags after beacon-chain:
docker run --name prysm -d \
-p 3500:3500 -p 13000:13000 -p 12000:12000/udp \
-v /path/to/execution-client/data:/node/prysm/exec-jwt:ro \
fiftysix/prysm \
beacon-chain --execution-endpoint http://reth-node:8551 --jwt-secret /node/prysm/exec-jwt/jwt.hex \
--http-port 3500
The following ports are commonly used by Prysm and are exposed in this Docker image:
3500: HTTP (REST) API server13000: P2P communication (TCP)12000: P2P discovery (UDP)Prysm can also be run using Docker Compose, paired with any Fiftysix Ethereum execution client (Reth, Geth, Erigon, Besu, or Nethermind) to form a complete Ethereum node, with Prysm handling consensus. Examples of these Docker 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.tech.
Content type
Image
Digest
sha256:354c5e788…
Size
145.5 MB
Last updated
5 days ago
docker pull fiftysix/prysm