admin管理员组文章数量:1444103
使用 ethereum
一、环境准备
- 安装DockerundefinedKurtosis依赖Docker作为底层容器运行时。需根据操作系统安装Docker并启动服务:
$ systemctl start docker # 启动Docker
$ systemctl enable docker # 设置开机自启
- 安装Kurtosis CLIundefined根据操作系统选择安装命令:
- MacOS:
$ brew install kurtosis-tech/tap/kurtosis-cli
- Ubuntu/Debian:
$ echo "deb [trusted=yes] / /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
$ sudo apt update && sudo apt install kurtosis-cli
- 验证安装:
$ kurtosis version
二、部署默认配置的以太坊网络
- 启动单节点测试链undefined使用默认配置快速启动一个本地以太坊网络(包含执行层和共识层客户端):
$ kurtosis run --enclave my-testnet github/ethpandaops/ethereum-package
enclave
参数指定隔离环境名称(如my-testnet
)。- 默认使用Geth(执行层)和Lighthouse(共识层)客户端。
- 验证启动成功undefined成功后会输出各服务状态,例如:
Successfully added 1 EL participants
Service 'el-1-geth-lighthouse' added with service UUID...
三、自定义配置部署
- 创建配置文件undefined编写
network_params.yaml
文件,定义网络参数。例如:
participants:
- el_type: geth
cl_type: lighthouse
network_params:
network: "holesky-shadowfork" # 支持Shadowfork模式
persistent: true # 启用持久化存储(Shadowfork必需)
additional_services:
- apache # 启用文件共享服务
- 关键参数:
el_type
/cl_type
:指定执行层(Geth、Nethermind等)和共识层客户端(Lighthouse、Teku等)。network
:支持公共测试网(如holesky
)或Shadowfork(如holesky-shadowfork
)。persistent
:启用持久化存储,防止数据丢失。
- 运行自定义配置
$ kurtosis run --enclave my-testnet github/ethpandaops/ethereum-package --args-file network_params.yaml
四、Kubernetes部署(可选)
- Kubernetes集群要求
- 推荐使用云服务(如AWS EKS、GCP GKE)或自建集群。
- 确保存储卷性能(通过
el_volume_size
和cl_volume_size
调整存储大小)。
- 调整容器调度策略undefined在
network_params.yaml
中定义Kubernetes容忍(Tolerations):
participants:
- el_type: reth
cl_type: teku
el_tolerations: # 覆盖全局配置
- key: "gpu-node"
operator: "Exists"
global_tolerations:
- key: "node-role.kubernetes.io/master"
effect: "NoSchedule"
五、管理与调试
- 访问服务日志
$ kurtosis service logs my-testnet el-1-geth-lighthouse
- 下载创世文件
$ kurtosis files download my-testnet el-genesis-data ~/Downloads
- 进入容器Shell
$ kurtosis service shell my-testnet el-1-geth-lighthouse
六、高级功能
- Shadowforkingundefined通过配置文件模拟主网分叉环境:
network_params:
network: "mainnet-shadowfork-verkle" # Verkle树测试
electra_fork_epoch: 1 # 指定分叉区块
persistent: true
- MEV-Boost集成undefined启用Flashbot的MEV基础设施:
mev_params:
mode: "full" # 或 "mock" 模拟模式
- 监控与工具undefined默认集成Prometheus、Grafana和Blobscan(用于分析EIP-4844 Blob交易)。
七、清理资源
代码语言:bash复制$ kurtosis enclave rm -f my-testnet # 删除整个环境
$ kurtosis clean -a # 清理所有资源
注意事项
- 云环境部署:建议使用高性能存储(如SSD),避免因磁盘速度导致同步问题。
- 客户端兼容性:不同客户端(如Prysm)可能需要特定镜像或参数。
通过以上步骤,可以灵活部署一个多客户端、可观测性强的以太坊开发网络。更多配置细节可参考官方文档。
本文标签: 使用 ethereum
版权声明:本文标题:使用 ethereum 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1748176326a2821285.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论