Ethereum Builder API 使用教程
1. 项目介绍
Ethereum Builder API 是一个用于共识层客户端的接口,允许它们从外部实体获取构建的区块。这个项目的主要目的是在 Proposer-Builder Separation (PBS) 实现之前,提供一个临时解决方案,使得验证者可以将区块构建任务委托给外部实体。
项目背景
区块构建是一个需要高固定成本的专门活动,这使得质押池在分摊成本方面具有优势。PBS 通过将验证者的角色分为区块提议和区块构建来解决这个问题。然而,PBS 需要对 Beacon 链进行修改,因此在合并时无法实现。Builder API 提供了一个临时解决方案,虽然它比 PBS 需要更高的信任假设,但可以在不修改基础协议的情况下完全实现。
项目目标
- 提供一个接口,使共识层客户端能够从外部实体获取构建的区块。
- 在 PBS 实现之前,提供一个临时解决方案。
- 降低验证者的成本,提高网络效率。
2. 项目快速启动
安装依赖
首先,确保你已经安装了 Node.js 和 npm。然后,克隆项目仓库并安装依赖:
git clone https://github.com/ethereum/builder-specs.git
cd builder-specs
npm install
运行本地服务器
为了在浏览器中渲染 API 规范,你需要启动一个 HTTP 服务器。可以使用 Python 的简单 HTTP 服务器:
python -m http.server 8080
然后,在浏览器中访问 http://localhost:8080
,你将看到 API 规范的渲染页面。
运行 linter
在提交代码之前,建议运行 linter 检查代码规范:
npm install -g @redocly/cli
redocly lint builder-oapi.yaml
3. 应用案例和最佳实践
应用案例
Builder API 主要用于以下场景:
- 验证者委托区块构建:验证者可以将区块构建任务委托给外部实体,从而降低成本。
- 提高网络效率:通过专业化区块构建,提高整个网络的效率。
最佳实践
- 使用 builder multiplexers:用户通常会使用 builder multiplexers 将他们的共识层客户端连接到构建者。可以参考
mev-boost
和mev-rs
项目了解更多信息。 - 定期更新 API 规范:确保 API 规范是最新的,以便与最新的共识层客户端兼容。
4. 典型生态项目
mev-boost
mev-boost
是一个用于连接共识层客户端和外部构建者的工具,帮助验证者将区块构建任务委托给外部实体。
mev-rs
mev-rs
是另一个用于连接共识层客户端和外部构建者的工具,提供了更多的灵活性和功能。
其他相关项目
- Beacon API:用于与 Beacon 链交互的 API。
- Execution Layer API:用于与执行层交互的 API。
通过这些工具和项目,验证者可以更高效地管理区块构建任务,提高网络的整体性能。