You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/get_started/building.md
+14-8Lines changed: 14 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,6 @@
2
2
3
3
Commit-Boost's components are all written in [Rust](https://www.rust-lang.org/). This guide will walk you through the setup required to build them from source. It assumes you are on a Debian or Debian-based system (e.g., Ubuntu, Linux Mint, Pop OS). For other systems, please adapt the steps for your system's package manager accordingly.
4
4
5
-
6
5
## Building via the Docker Builder
7
6
8
7
For convenience, Commit-Boost has Dockerized the build environment for Linux `x64` and `arm64` platforms. It utilizes Docker's powerful [buildx](https://docs.docker.com/reference/cli/docker/buildx/) system. All of the prerequisites, cross-compilation tooling, and configuration are handled by the builder image. If you would like to build the CLI, PBS module, or Signer binaries and Docker images from source, you are welcome to use the Docker builder process.
@@ -27,17 +26,15 @@ The `version` provided will be used to house the output binaries in `./build/<ve
27
26
28
27
If you're interested in building the binaries and/or Docker images for multiple architectures (currently Linux `amd64` and `arm64`), use the variants of those recipes that have the `-multiarch` suffix. Note that building a multiarch Docker image manifest will require the use of a [custom Docker registry](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-docker-registry-on-ubuntu-20-04), as the local registry built into Docker does not have multiarch manifest support.
29
28
30
-
31
29
## Building Manually
32
30
33
31
If you don't want to use the Docker builder, you can compile the Commit-Boost artifacts locally. The following instructions assume a Debian or Debian-based system (e.g., Ubuntu, Linux Mint, Pop OS) for simplicity. For other systems, please adapt any relevant instructions to your environment accordingly.
34
32
35
-
36
33
### Prerequisites
37
34
38
35
Requirements:
39
36
40
-
- Rust 1.83+
37
+
- Rust 1.85+
41
38
- GCC (or another C compiler of your choice)
42
39
- OpenSSL development libraries
43
40
- Protobuf Compiler (`protoc`)
@@ -65,48 +62,53 @@ just install-protoc
65
62
This works on OSX and Linux systems, but you are welcome to download and install it manually as well.
66
63
67
64
With the prerequisites set up, pull the repository:
Check out the `stable` branch which houses the latest release:
71
+
73
72
```bash
74
73
cd commit-boost-client && git checkout stable
75
74
```
76
75
77
76
Finally, update the submodules:
77
+
78
78
```
79
79
git submodule update --init --recursive
80
80
```
81
81
82
82
Your build environment should now be ready to use.
83
83
84
-
85
84
### Building the CLI
86
85
87
86
To build the CLI, run:
87
+
88
88
```
89
89
cargo build --release --bin commit-boost-cli
90
90
```
91
91
92
92
This will create a binary in `./target/release/commit-boost-cli`. Confirm that it works:
93
+
93
94
```
94
95
./target/release/commit-boost-cli --version
95
96
```
96
97
97
98
You can now use this to generate the Docker Compose file to drive the other modules if desired. See the [configuration](./configuration.md) guide for more information.
98
99
99
-
100
100
### Building the PBS Module
101
101
102
102
To build PBS, run:
103
+
103
104
```
104
105
cargo build --release --bin commit-boost-pbs
105
106
```
106
107
107
108
This will create a binary in `./target/release/commit-boost-pbs`. To verify it works, create [a TOML configuration](./configuration.md) for the PBS module (e.g., `cb-config.toml`).
108
109
109
110
As a quick example, we'll use this configuration that connects to the Flashbots relay on the Hoodi network:
2025-05-07T21:09:17.407245Z WARN No metrics server configured
140
144
2025-05-07T21:09:17.407257Z INFO starting PBS service version="0.7.0" commit_hash="58082edb1213596667afe8c3950cd997ab85f4f3" addr=127.0.0.1:18550 events_subs=0 chain=Hoodi
@@ -144,17 +148,18 @@ If it works, you should see output like this:
144
148
145
149
If you do, then the binary works.
146
150
147
-
148
151
### Building the Signer Module
149
152
150
153
To build the Signer, run:
154
+
151
155
```
152
156
cargo build --release --bin commit-boost-signer
153
157
```
154
158
155
159
This will create a binary in `./target/release/commit-boost-signer`. To verify it works, create [a TOML configuration](./configuration.md) for the Signer module (e.g., `cb-config.toml`). We'll use the example in the PBS build section above.
156
160
157
161
The signer needs the following environment variables set:
162
+
158
163
-`CB_CONFIG` = path of your config file.
159
164
-`CB_JWTS` = a dummy key-value pair of [JWT](https://en.wikipedia.org/wiki/JSON_Web_Token) values for various services. Since we don't need them for the sake of just testing the binary, we can use something like `"test_jwts=dummy"`.
Copy file name to clipboardExpand all lines: docs/docs/get_started/overview.md
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,7 @@ Commit-Boost is primarily based on [Docker](https://www.docker.com/) to enable m
8
8
9
9
Each component roughly maps to a container: from a single `.toml` config file, the node operator can specify which modules they want to run, and Commit-Boost takes care of spinning up the services and creating links between them.
10
10
Commit-Boost ships with two core modules:
11
+
11
12
- A PBS module which implements the [BuilderAPI](https://ethereum.github.io/builder-specs/) for [MEV Boost](https://docs.flashbots.net/flashbots-mev-boost/architecture-overview/specifications).
12
13
- A signer module, which implements the [Signer API](/api) and provides the interface for modules to request proposer commitments.
13
14
@@ -18,13 +19,16 @@ The Commit-Boost CLI creates a dynamic `docker-compose` file, with services and
18
19
Whether you're using Docker or running the binaries natively, you can compile from source directly from the repo, or download binaries and fetch docker images from the official releases.
19
20
20
21
## Binaries and images
22
+
21
23
Find the latest releases at https://github.com/Commit-Boost/commit-boost-client/releases.
22
24
23
25
The modules are also published at [each release](https://github.com/orgs/Commit-Boost/packages?repo_name=commit-boost-client).
24
26
25
27
### From source
28
+
26
29
Requirements:
27
-
- Rust 1.83
30
+
31
+
- Rust 1.85
28
32
29
33
:::note
30
34
Run `rustup update` to update Rust and Cargo to the latest version
@@ -43,6 +47,7 @@ If you get an `openssl` related error try running: `apt-get update && apt-get in
43
47
:::
44
48
45
49
### Docker
50
+
46
51
You will need to build the CLI to create the `docker-compose` file:
0 commit comments