Docker-compsoe部署prysm-beacon-chain + geth服务(geth版本v1.14.0)

news/2024/11/7 15:30:25/

1、编写prysm-beacon-chain Dockerfile文件

# 使用 Ubuntu 20.04 作为基础镜像
FROM ubuntu:20.04# 安装必要的系统库和工具
RUN apt-get update && \apt-get install -y curl && \apt-get clean# 创建存储数据的目录
RUN mkdir -p /data/prysm
WORKDIR /data/prysm# 下载 Prysm beacon chain 二进制文件并将其复制到 /usr/local/bin/beacon-chain
RUN curl -Lo /usr/local/bin/beacon-chain https://github.com/prysmaticlabs/prysm/releases/download/v5.0.3/beacon-chain-v5.0.3-linux-amd64 && \chmod +x /usr/local/bin/beacon-chain && \ls -l /usr/local/bin/beacon-chain# 生成授权密钥并运行 Prysm Beacon Chain
#CMD /bin/sh -c "/usr/local/bin/beacon-chain generate-auth-secret && /usr/local/bin/beacon-chain --accept-terms-of-use --execution-endpoint=http://eth:8551 --jwt-secret=/data/prysm/jwt.hex --checkpoint-sync-url=https://beaconstate.info --genesis-beacon-api-url=https://beaconstate.info --datadir /data/beacondata"
# 设定容器启动时运行的命令
ENTRYPOINT ["/usr/local/bin/beacon-chain"]

2、打prysm-beacon-chain镜像

docker build -t prysm-beacon-chain:v5.0.3 .

3、编写eth对应的Dockerfile

# 使用 Ubuntu 20.04 作为基础镜像
FROM ubuntu:20.04# 安装必要的系统库和工具
RUN apt-get update && \apt-get install -y curl && \apt-get clean# 创建存储数据的目录
RUN mkdir -p /data/ethdata
WORKDIR /data/ethdata# 下载 eth 二进制文件并将其复制到 /usr/local/bin/geth
RUN curl -Lo /usr/local/bin/geth https://github.com/ethereum/go-ethereum/releases/download/v1.14.0/geth-linux-amd64-1.14.0 && \chmod +x /usr/local/bin/geth# 设定容器启动时运行的命令
ENTRYPOINT ["/usr/local/bin/geth"]

4、打eth的镜像

docker build -t prysm-eth-chain:v5.0.3 .

5、编写docker-compose.yaml文件

version: '3.8'services:prysm-beacon-chain:build: context: .dockerfile: Dockerfilecontainer_name: prysm-beacon-chainvolumes:- ./prysm:/data/prysm- ./beacondata:/data/beacondataports:- "4000:4000"networks:- eth_networkcommand: >/usr/local/bin/beacon-chain generate-auth-secret &&/usr/local/bin/beacon-chain --accept-terms-of-use --execution-endpoint=http://eth:8551 --jwt-secret=/data/prysm/jwt.hex --checkpoint-sync-url=https://beaconstate.info --genesis-beacon-api-url=https://beaconstate.info --datadir /data/beacondataeth:build: context: ./ethdockerfile: Dockerfilecontainer_name: ethvolumes:- ./beacondata:/data/beacondata- ./ethdata:/data/ethdataports:- "3545:3545"- "8551:8551"     networks:- eth_networkcommand: --cache 4096 --http --http.api web3,eth,net,personal,txpool,engine,admin --http.addr 0.0.0.0 --http.port 3545  --datadir /data/eth/chaindata   --allow-insecure-unlock --rpc.allow-unprotected-txs  --authrpc.addr 0.0.0.0 --authrpc.port 8551 --authrpc.vhosts localhost --maxpeers=300 --authrpc.jwtsecret /data/prysm/jwt.hex
networks:eth_network:driver: bridge  

6、启动容器

docker-compose up -d

7、验证
略。。。


http://www.ppmy.cn/news/1455786.html

相关文章

XSS-Labs 靶场通过解析(上)

前言 XSS-Labs靶场是一个专门用于学习和练习跨站脚本攻击(XSS)技术的在线平台。它提供了一系列的实验场景和演示,帮助安全研究人员、开发人员和安全爱好者深入了解XSS攻击的原理和防御方法。 XSS-Labs靶场的主要特点和功能包括:…

模拟IC设计实践教程(入门)

一、教学大纲 二、芯片设计及量产总体流程 芯片需求分析:即产品定义,功能要求,性能要求工艺选择及评估:不同工艺特性相差较大,不同工艺的成本也是不同的。主要用于评估工艺的性价比,工艺提供的元器件能不能…

cmd输入mysql -u root -p无法启动

问题分析:cmd输入mysql -u root -p无法启动 解决方法:配置系统环境变量 1.找到mysql安装文件下的bin文件:(复制改文件地址,如下图所示) 2.电脑桌面下方直接搜索环境变量并进入,如下图 3.点击环境变量&a…

mysql 删除重复的数据保留id最大的一条

在 MySQL 中,可以使用以下查询删除重复数据,只保留 ID 最大的那条记录: SQL DELETE t FROM table_name t LEFT JOIN ( SELECT column_name, MAX(id) AS max_id FROM table_name GROUP BY column_name ) t2 ON t.column_name t2…

RabbitMQ 是如何做延迟消息的 ?——Java全栈知识(15)

RabbitMQ 是如何做延迟消息的 ? 1、什么是死信? 当一个队列中的消息满足下列情况之一时,可以成为死信(dead letter): 消费者使用 basic.reject 或 basic.nack 声明消费失败,并且消息的 reque…

excel中数据筛选技巧

1、筛选excel中破折号前后都为空的数据 在Excel中查找破折号前后为空的数据,你可以结合使用Excel的查找和筛选功能,或者利用一些公式来判断。以下是两种常用的方法: 方法一:使用筛选功能选中数据范围:首先&#xff0c…

Amazon Bedrock的进化:更多选择与新特性,助力生成式AI应用更快落地

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

open 函数到底做了什么

使用设备之前我们通常都需要调用 open 函数,这个函数一般用于设备专有数据的初始化,申请相关资源及进行设备的初始化等工作,对于简单的设备而言,open 函数可以不做具体的工作,你在应用层通过系统调用 open 打开设备…