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

1、创建目录结构

~ # mkdir -p /data/docker-compose/eth
~ # cd /data/docker-compose/eth
/data/docker-compose/eth# mkdir beacondata  eth  ethdata  prysm

2、编写prysm-beacon-chain Dockerfile和启动脚本文件

/data/docker-compose/eth# vim Dockerfile
/data/docker-compose/eth# vim beacon-start.sh
#!/bin/bash/usr/local/bin/beacon-chain generate-auth-secret/usr/local/bin/beacon-chain \--accept-terms-of-use \--execution-endpoint=http://eth:8545 \--jwt-secret=/data/prysm/jwt.hex \--checkpoint-sync-url=https://beaconstate.info \--genesis-beacon-api-url=https://beaconstate.info \--datadir /data/beacondata
# 使用 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#拷贝启动脚本并赋予执行权限
COPY beacon-start.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/beacon-start.sh# 设定容器启动时运行的命令
ENTRYPOINT ["/usr/local/bin/beacon-start.sh"]

3、编写eth对应的Dockerfile

/data/docker-compose/eth#vim eth/Dockerfile

打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 /tmp/geth.tar.gz https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.14.0-87246f3c.tar.gz && \tar -xzf /tmp/geth.tar.gz -C /tmp/ && \mv /tmp/geth-linux-amd64-1.14.0-87246f3c/geth /usr/local/bin/ && \chmod +x /usr/local/bin/geth && \rm /tmp/geth.tar.gz# 设定容器启动时运行的命令
ENTRYPOINT ["/usr/local/bin/geth"]

4、编写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: >sh -c "/usr/local/bin/beacon-start.sh"eth:build: context: ./ethdockerfile: Dockerfilecontainer_name: ethvolumes:- ./prysm/:/data/prysm/:ro- ./ethdata:/data/ethdataports:- "3545:3545"- "8545:8545"     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/ethdata   --allow-insecure-unlock --rpc.allow-unprotected-txs  --authrpc.addr 0.0.0.0 --authrpc.port 8545 --authrpc.vhosts localhost --maxpeers=300 --authrpc.jwtsecret /data/prysm/jwt.hex
networks:eth_network:driver: bridge 

5、启动容器

/data/docker-compose/eth# docker-compose up -d
[+] Building 1.1s (12/12) FINISHED                                                                                                                                                                                                            => [internal] load build definition from Dockerfile                                                                                                                                                                                     0.0s=> => transferring dockerfile: 1.13kB                                                                                                                                                                                                   0.0s=> [internal] load metadata for docker.io/library/ubuntu:20.04                                                                                                                                                                          0.9s=> [internal] load .dockerignore                                                                                                                                                                                                        0.0s=> => transferring context: 2B                                                                                                                                                                                                          0.0s=> [1/7] FROM docker.io/library/ubuntu:20.04@sha256:874aca52f79ae5f8258faff03e10ce99ae836f6e7d2df6ecd3da5c1cad3a912b                                                                                                                    0.0s=> [internal] load build context                                                                                                                                                                                                        0.0s=> => transferring context: 388B                                                                                                                                                                                                        0.0s=> CACHED [2/7] RUN apt-get update &&     apt-get install -y curl &&     apt-get clean                                                                                                                                                  0.0s=> CACHED [3/7] RUN mkdir -p /data/prysm                                                                                                                                                                                                0.0s=> CACHED [4/7] WORKDIR /data/prysm                                                                                                                                                                                                     0.0s=> CACHED [5/7] 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/beaco  0.0s=> [6/7] COPY beacon-start.sh /usr/local/bin/                                                                                                                                                                                           0.0s=> [7/7] RUN chmod +x /usr/local/bin/beacon-start.sh                                                                                                                                                                                    0.2s=> exporting to image                                                                                                                                                                                                                   0.0s=> => exporting layers                                                                                                                                                                                                                  0.0s=> => writing image sha256:55bbc4ebf584ed73c90d2e57dc5eaff32f3152f238e6c566af48fcc14463797d                                                                                                                                             0.0s=> => naming to docker.io/library/eth_prysm-beacon-chain                                                                                                                                                                                0.0s
[+] Running 3/3⠿ Network eth_eth_network       Created                                                                                                                                                                                                 0.1s⠿ Container eth                 Started                                                                                                                                                                                                 0.3s⠿ Container prysm-beacon-chain  Started

6、验证
1)查询容器运行情况

/data/docker-compose/eth# docker-compose ps
NAME                 COMMAND                  SERVICE              STATUS              PORTS
eth                  "/usr/local/bin/geth…"   eth                  running             0.0.0.0:3545->3545/tcp, 0.0.0.0:8545->8545/tcp, :::3545->3545/tcp, :::8545->8545/tcp
prysm-beacon-chain   "/usr/local/bin/beac…"   prysm-beacon-chain   running             0.0.0.0:4000->4000/tcp, :::4000->4000/tcp

2)查询目录结构图

/data/docker-compose/eth# tree -L 2
.
├── beacondata
│   ├── beaconchaindata
│   ├── blobs
│   ├── metaData
│   └── tosaccepted
├── beacon-start.sh
├── docker-compose.yaml
├── Dockerfile
├── eth
│   └── Dockerfile
├── ethdata
│   ├── geth
│   ├── geth.ipc
│   └── keystore
└── prysm└── jwt.hex8 directories, 8 files

4)进入eth控制台查询同步情况

/data/docker-compose/eth# docker exec -it eth /bin/bash
root@44f580801f7c:/data/ethdata# geth attach /data/ethdata/geth.ipc 
Welcome to the Geth JavaScript console!instance: Geth/v1.14.0-stable-87246f3c/linux-amd64/go1.22.2
at block: 0 (Thu Jan 01 1970 00:00:00 GMT+0000 (UTC))datadir: /data/ethdatamodules: admin:1.0 debug:1.0 engine:1.0 eth:1.0 miner:1.0 net:1.0 rpc:1.0 txpool:1.0 web3:1.0To exit, press ctrl-d or type exit
> eth.blockNumber
0
> eth.syncing
{currentBlock: 0,healedBytecodeBytes: 0,healedBytecodes: 0,healedTrienodeBytes: 0,healedTrienodes: 0,healingBytecode: 0,healingTrienodes: 0,highestBlock: 0,startingBlock: 0,syncedAccountBytes: 0,syncedAccounts: 0,syncedBytecodeBytes: 0,syncedBytecodes: 0,syncedStorage: 0,syncedStorageBytes: 0,txIndexFinishedBlocks: 0,txIndexRemainingBlocks: 1
}

5)日志查询
eth容器的日志查询

root@iZt4ndiwb4prb26wx84bsuZ:/data/docker-compose/eth# docker logs -f --tail 10 eth 
INFO [05-07|07:08:58.617] Looking for peers                        peercount=0 tried=111 static=0
INFO [05-07|07:09:08.638] Looking for peers                        peercount=0 tried=155 static=0
WARN [05-07|07:09:13.459] Post-merge network, but no beacon client seen. Please launch one to follow the chain!
INFO [05-07|07:09:18.754] Looking for peers                        peercount=1 tried=217 static=0
INFO [05-07|07:09:28.754] Looking for peers                        peercount=2 tried=86  static=0
INFO [05-07|07:09:38.757] Looking for peers                        peercount=2 tried=181 static=0
INFO [05-07|07:09:48.764] Looking for peers                        peercount=1 tried=192 static=0
INFO [05-07|07:09:58.801] Looking for peers                        peercount=1 tried=138 static=0
INFO [05-07|07:10:08.878] Looking for peers                        peercount=1 tried=171 static=0
INFO [05-07|07:10:18.956] Looking for peers                        peercount=2 tried=55  static=0
INFO [05-07|07:10:39.090] Looking for peers                        peercount=2 tried=124 static=0
INFO [05-07|07:10:49.112] Looking for peers                        peercount=2 tried=234 static=0
INFO [05-07|07:10:59.149] Looking for peers                        peercount=2 tried=204 static=0

beacon-chain日志查询

/data/docker-compose/eth# docker logs -f --tail 10 prysm-beacon-chain 
time="2024-05-07 07:11:09" level=error msg="Could not connect to execution client endpoint" error="403 Forbidden: invalid host specified
: 403 Forbidden: invalid host specified
" prefix=execution
time="2024-05-07 07:11:14" level=info msg="Processing blocks" batchSize=63 blocksPerSecond=3.1 estimatedTimeRemaining=1m39s latestProcessedSlot/currentSlot="9019841/9020154" peers=57 prefix=initial-sync startingFrom=0xbacdf551...
time="2024-05-07 07:11:23" level=warning msg="Skip processing batched blocks" error="could not process block in batch: got an unexpected error in JSON-RPC response: 403 Forbidden: invalid host specified
: received an undefined execution engine error" prefix=initial-sync
time="2024-05-07 07:11:23" level=warning msg="Skip processing batched blocks" error="beacon node doesn't have a parent in db with root: 0x7b382457f4227a872fd1cd583cb3e676cf606c4f0fa661f2b7f3c968f6543810 (in processBatchedBlocks, slot=9019905)" prefix=initial-sync
time="2024-05-07 07:11:23" level=warning msg="Skip processing batched blocks" error="beacon node doesn't have a parent in db with root: 0xcbd1a46c0325b4cb82b2f76f4cb5c4772de1d2769fd1a5fbc41c3571bb9b991e (in processBatchedBlocks, slot=9019969)" prefix=initial-sync
time="2024-05-07 07:11:23" level=warning msg="Skip processing batched blocks" error="beacon node doesn't have a parent in db with root: 0x08eff305d908b90e38b4f4ef82d77b2c23ceadf6a5b2546da144a0701e54f60b (in processBatchedBlocks, slot=9020033)" prefix=initial-sync
time="2024-05-07 07:11:40" level=info msg="Peer summary" activePeers=49 inbound=0 outbound=49 prefix=p2p

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/9319.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git的系统级设置

一、如何查看当前系统登录的GIt用户信息 1.看全局Git配置文件 cat ~/.gitconfig 2.查看系统级Git配置文件 cat /etc/gitconfig 3.使用Git命令查看配置的用户名和电子邮件地址 git config --global user.name git config --global user.email 4.如果你想查看所有Git配置&…

(delphi11最新学习资料) Object Pascal 学习笔记---第11章第2节 ( 多个接口与方法别名)

11.2.3 多个接口与方法别名 ​ 接口的另一个非常重要的特点是一个类可以实现多个接口。下面的 TAthlete 类就演示了这一点,该类同时实现了 IWalker 和 IJumper 接口: TAthlete class(TInterfacedObject, IWalker, IJumper) privateFJumpImpl: TJumpe…

旅行卡使用秘籍:告别出游烦恼

在现代社会,随着人们生活水平的不断提高,旅游已经成为越来越多人的休闲方式。而为了让旅行更加方便、实惠,各种旅游卡应运而生。然而,很多人在使用旅游卡时,对于其使用规则并不是非常清楚。接下来,我们就来…

如何把公章盖在电子档文件上?

将公章盖在电子档文件上,尤其是确保其法律效力和安全性,通常涉及以下步骤: 准备工作 获取合法的电子公章:确保你拥有公司或机构正式授权的电子公章图像,且该图像经过了必要的加密或数字签名处理,以确保其…

使用海外云手机为亚马逊店铺引流

在全球经济一体化的背景下,出海企业与B2B外贸企业愈发重视海外市场的深耕,以扩大市场份额。本文旨在探讨海外云手机在助力亚马逊店铺提升引流效果方面的独特作用与优势。 海外云手机,一种基于云端技术的虚拟手机,能够在单一硬件上…

Centos系统实用运维命令记录(持续更新)

本文记录Centos服务器常用的运维命令,备忘 查询当前内存占用最高(前10)的进程列表和占用比例,进程ID ps -eo pid,comm,%mem,cmd --sort-%mem | head -n 11注: 内存警报时定位问题时非常有用 查询占用某个端口号的进程id lsof -i :9000注: 后面的9000…

Ai绘画工具Stable Diffusion提示词如何使用

Stable Diffusion是一种基于深度学习的AI绘画工具,它可以根据用户提供的提示词(prompt)生成相应的图像。提示词是引导AI生成图像的关键,正确的使用和调试提示词对于获得满意的结果至关重要。本文将介绍如何使用和调试Stable Diffu…

let命令

let 命令 let 与 var 二者区别: 作用域不同:变量提升(Hoisting):临时性死区重复声明: 联系:举例说明: 块级作用域 块级作用域的关键字使用 var(无块级作用域)…

JavaScript手写专题——图片懒加载、滚动节流、防抖手写

图片懒加载场景:在一些图片量比较大的网站(比如电商网站首页,或者团购网站、小游戏首页等),如果我们尝试在用户打开页面的时候,就把所有的图片资源加载完毕,那么很可能会造成白屏、卡顿等现象&a…

算法练习第五十八天|739. 每日温度、496. 下一个更大元素

739. 每日温度 496. 下一个更大元素 I 每日温度 class Solution {public int[] dailyTemperatures(int[] temperatures) {int length temperatures.length;int[] res new int[length];//保留下标Deque<Integer> stack new LinkedList<>();stack.push(0);for(in…

ICode国际青少年编程竞赛- Python-2级训练场-range函数

ICode国际青少年编程竞赛- Python-2级训练场-range函数 1、 for i in range(4):Dev.turnLeft()Dev.step(i 1)2、 for i in range(4):Spaceship.step(i 1)Spaceship.turnRight()3、 for i in range(4):Spaceship.step(i 1)Dev.step(2)Dev.step(-2)4、 for i in range(1, 5)…

上海市计算机学会竞赛平台2022年1月月赛丙组三角形的判定

题目描述 给定三个正整数 &#x1d44e;a&#xff0c;&#x1d44f;b 与 &#x1d450;c&#xff0c;请判断它们是否能组成一个三角形。 输入格式 第一行&#xff1a;三个整数表示 &#x1d44e;a&#xff0c;&#x1d44f;b 与 &#x1d450;c。 输出格式 如果可以组成一…

【深度学习4】pip、conda换源

pip、conda换源 1. pip换源2. conda 换源 1. pip换源 临时使用镜像源安装&#xff0c;如下所示&#xff1a;some-package 为你需要安装的包名 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ some-package设置pip默认镜像源&#xff0c;升级 pip 到最新的版本 (&…

【深度学习】【Lora训练2】StabelDiffusion,Lora训练过程,秋叶包,Linux,SDXL Lora训练

文章目录 一、如何为图片打标1.1. 打标工具1.1.1. 秋叶中使用的WD1.41.1.2. 使用BLIP21.1.3. 用哪一种 二、 Lora训练数据的要求2.1 图片要求2.2 图片的打标要求 三、 Lora的其他问题qa1qa2qa3qa4qa5 四、 对图片的处理细节4.1. 图片尺寸问题4.2. 图片内容选取问题4.3. 什么是一…

攻击基础-问题

目录 1. windows登录的明文密码&#xff0c;存储过程是怎么样的&#xff0c;密文存在哪个文件下&#xff0c;该文件是否可以打开&#xff0c;并且查看到密文 2. 我们通过hashdump 抓取出 所有用户的密文&#xff0c;分为两个模块&#xff0c;为什么&#xff1f; 这两个模块分别…

2024年3月份宠物行业线上市场数据分析:市场呈现出精细化、品质化趋势

近些年来&#xff0c;养宠物的家庭越来越多&#xff0c;宠物经济也逐渐衍生开来。宠物经济主要是围绕宠物产生的一整条产业链&#xff0c;包括宠物食品、宠物家居、宠物美容和最近火起来的宠物保险等多个领域。目前随着居民人均收入的提高&#xff0c;宠物市场也得到稳步发展。…

【linux】海量小文件的存储方案

在介绍海量文件存储之前&#xff0c;需要先介绍一下常见的系统里面文件是如何存储的 文件inode 在linux下&#xff0c;每个文件或者目录&#xff0c;都会分配一个inode(index node)&#xff0c;它不存储具体的文件内容&#xff0c;而是记录该文件的基础信息。每个inode大小一…

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Slider的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 输入类控件 | Slider的使用及说明 文章编号&#xff1a;…

Java | Leetcode Java题解之第80题删除有序数组中的重复项II

题目&#xff1a; 题解&#xff1a; class Solution {public int removeDuplicates(int[] nums) {int n nums.length;if (n < 2) {return n;}int slow 2, fast 2;while (fast < n) {if (nums[slow - 2] ! nums[fast]) {nums[slow] nums[fast];slow;}fast;}return sl…

查看pytorch与cuda对应版本

查看cuda版本 打开cmd,输入nvidia-smi&#xff0c;即可可以看到cuda的版本了 2. pytorch与cuda版本对应关系 可以参考这篇文章&#xff0c;写的非常详细&#xff1a;https://blog.csdn.net/FL1768317420/article/details/134769203