Kurtosis 是一款基于 Starlark 脚本语言的临时化包执行工具,专为开发者打造零配置的应用程序测试环境。其核心优势体现在:
enclave隔离机制实现多环境并行运行(类似 Kubernetes 命名空间)kurtosis clean -akurtosis run --args-file <配置文件># 启动引擎
kurtosis engine start
# 运行标准以太坊开发包
kurtosis run github.com/ethpandaops/ethereum-package
# 清理环境
kurtosis enclave rm <enclave名称> -fparticipants:
- el_type: geth # 执行层客户端类型
cl_type: lighthouse # 共识层客户端类型
count: 3 # 节点数量
vc_type: lodestar # 验证者客户端类型
validator_count: 100 # 验证者数量
el_extra_params: ["--rpc"] # 额外启动参数
el_extra_env_vars: {"ETH_RPC_PORT": "8545"} # 环境变量network_params:
seconds_per_slot: 6 # 出块间隔
genesis_delay: 120 # 创世延迟
electra_fork_epoch: 5 # 硬分叉纪元
preset: minimal # 网络预设类型participants:
- el_type: geth
cl_type: lighthouse
count: 3
mev_type: full # 支持 full/mock 模式network_params:
network: holesky-shadowfork
network_sync_base_url: https://ethpandaops-ethereum-node-snapshots.ams3.digitaloceanspaces.com/
persistent: true # 启用持久化存储participants:
- el_type: geth
node_selectors:
kubernetes.io/hostname: node1
tolerations:
- key: "gpu-priority"
el_min_cpu: 2 # 资源限制
el_max_mem: 8Gi类型 | 支持客户端 |
|---|---|
执行层 | Geth, Nethermind, Besu, Erigon, Reth, Nimbus-eth1 |
共识层 | Lighthouse, Teku, Nimbus-eth2, Prysm, Lodestar, Grandine |
使用 Kurtosis + Assertoor 的 GitHub Action 集成:
- name: Run Kurtosis tests
uses: ethpandaops/kurtosis-assertoor-github-action@v1
with:
package: github.com/ethpandaops/ethereum-package
args-file: .github/tests/smoke.yamlkurtosis clean -a该平台通过模块化设计和丰富的配置选项,为以太坊生态开发者提供了从本地测试到生产级部署的全流程解决方案。其与主流客户端的深度集成和MEV工具链支持,使其成为构建复杂测试场景的理想选择。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。