You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求合并后一站式Docker Compose以太坊网络配置及PoS本地部署示例

合并后PoS以太坊本地网络Docker Compose配置方案

核心组件说明

合并后的PoS以太坊网络需要两类核心组件协同运行:

  • 执行层(EL)客户端:负责处理交易、执行智能合约,这里选用Geth
  • 共识层(CL)客户端:承担PoS共识逻辑、验证者节点管理,这里选用Lighthouse

完整Docker Compose配置

创建docker-compose.yml文件,内容如下:

version: '3.8'

services:
  # 执行层节点(Geth)
  geth:
    image: ethereum/client-go:stable
    container_name: geth-local-pos
    command: >
      --dev
      --http
      --http.addr 0.0.0.0
      --http.api eth,net,web3,engine
      --http.corsdomain "*"
      --ws
      --ws.addr 0.0.0.0
      --ws.api eth,net,web3,engine
      --ws.origins "*"
      --authrpc.addr 0.0.0.0
      --authrpc.vhosts "*"
      --authrpc.jwtsecret /root/.ethereum/jwtsecret
      --mine
      --miner.threads 1
    ports:
      - "8545:8545"  # HTTP RPC端口
      - "8546:8546"  # WS RPC端口
      - "8551:8551"  # 执行引擎API端口(连接共识层)
    volumes:
      - geth-data:/root/.ethereum
      - ./jwtsecret:/root/.ethereum/jwtsecret
    networks:
      - eth-pos-local

  # 共识层节点(Lighthouse)
  lighthouse:
    image: sigp/lighthouse:stable
    container_name: lighthouse-local-pos
    command: >
      beacon_node
      --network pyrmont
      --http
      --http-address 0.0.0.0
      --execution-endpoint http://geth:8551
      --execution-jwt /root/.lighthouse/jwtsecret
      --checkpoint-sync-url https://pyrmont.checkpoint.sigp.io
      --disable-deposit-contract-sync
    depends_on:
      - geth
    ports:
      - "5052:5052"  # 信标节点API端口
    volumes:
      - lighthouse-data:/root/.lighthouse
      - ./jwtsecret:/root/.lighthouse/jwtsecret
    networks:
      - eth-pos-local

volumes:
  geth-data:
  lighthouse-data:

networks:
  eth-pos-local:
    driver: bridge

部署步骤

  1. 生成JWT密钥文件:
    在当前目录执行命令,生成共识层与执行层通信必需的JWT密钥:

    openssl rand -hex 32 > jwtsecret
    
  2. 启动本地网络:
    执行Docker Compose启动命令:

    docker-compose up -d
    
  3. 验证节点运行状态:

    • 查看Geth执行层日志:docker logs -f geth-local-pos,确认出现"Started P2P networking"等成功启动标识
    • 查看Lighthouse共识层日志:docker logs -f lighthouse-local-pos,确认出现"Connected to execution engine"等连接成功标识
  4. 获取测试代币:
    Geth的--dev模式默认生成预加载代币的测试账户,可通过以下命令查看账户地址和私钥:

    docker exec geth-local-pos account list
    

注意事项

  • 资源配置:建议给Docker分配至少4GB内存,避免节点因资源不足崩溃
  • 版本兼容:优先选用官方标记为stable的镜像,确保Geth与Lighthouse版本匹配
  • 端口冲突:若本地已占用8545、8551等端口,需修改docker-compose.yml中的端口映射规则

内容的提问来源于stack exchange,提问作者DuckQueen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:10:31