2026-05-15 15:08:20 +02:00
|
|
|
# ADR 0001: Single Binary CLI And Daemon
|
|
|
|
|
|
|
|
|
|
## Status
|
|
|
|
|
|
|
|
|
|
Accepted.
|
|
|
|
|
|
|
|
|
|
## Decision
|
|
|
|
|
|
|
|
|
|
The project ships one executable: `geth`. It has daemon mode with
|
|
|
|
|
`geth daemon run` and control mode through commands such as `geth status`.
|
|
|
|
|
|
|
|
|
|
Control commands use a local Unix socket. There are no separate `gethd` or
|
|
|
|
|
`gethctl` binaries.
|
|
|
|
|
|
2026-05-16 00:17:08 +02:00
|
|
|
The same binary also owns daemon service installation through `geth daemon
|
|
|
|
|
service ...`. Service installation targets user service managers: systemd user
|
|
|
|
|
units on Linux, launchd user agents on macOS, and per-user scheduled tasks on
|
|
|
|
|
Windows.
|
|
|
|
|
|
2026-05-15 15:08:20 +02:00
|
|
|
## Consequences
|
|
|
|
|
|
|
|
|
|
Packaging and user mental model stay simple. The daemon remains the owner of
|
|
|
|
|
identity, Iroh endpoint state, resources, and synchronized data structures.
|
2026-05-16 00:17:08 +02:00
|
|
|
The bootstrap avoids privileged system service installation.
|