ctmd node binary from source. Use this page when you need a local developer build, an installed binary, or a self-contained distribution bundle.
For local chain startup after the binary is built, see Local Development.
What gets built
The top-level Makefile buildsctmd from evmd/cmd/evmd. Builds use CGO and first build the Rust SP1 verifier dynamic library from rust/sp1verifier.
The usual developer targets are:
make build creates a development binary under build/. make install installs the binary into BINDIR, which defaults to $(go env GOPATH)/bin or $HOME/go/bin if GOPATH is not available.
Prerequisites
- Go matching
go.modandevmd/go.mod make- Rust and Cargo for
rust/sp1verifier - A working C toolchain for CGO builds
- macOS dynamic-library tooling:
otoolandinstall_name_tool - Linux dynamic-library tooling:
ldd;patchelfis recommended
gcc. To build without ledger support:
goleveldb unless ROCKSDB_REQUIRED=true is set.
macOS setup
Install the Xcode Command Line Tools:install_name_tool to fix local dynamic-library paths.
Linux setup
Install the core build tools and dynamic-library helpers:ROCKSDB_PREFIX, ROCKSDB_INCLUDE_DIR, or ROCKSDB_LIB_DIR so the Makefile can find it.
Build commands
Check the local environment:build/dist:
Outputs
make build writes:
make install writes:
make dist writes:
Verify the binary
For a development build:ctmd is not found after make install, confirm that BINDIR is on your PATH: