# Install ethereum with Homebrew

Official Go implementation of the Ethereum protocol. Version 1.17.5 via Homebrew; verified 2026-07-27.

## Install

```sh
sudo av install brew:ethereum
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ethereum
```

  Evidence: provider-native install command

## Package facts

- **Package key:** brew:ethereum
- **Package manager:** Homebrew
- **Version:** 1.17.5
- **Source summary:** Official Go implementation of the Ethereum protocol
- **Homepage:** <https://geth.ethereum.org/>
- **Repository:** <https://github.com/ethereum/go-ethereum>
- **Last updated:** 2026-07-27T11:05:38Z
- **Generated:** 2026-08-03T00:40:33+00:00

## Executables

- abidump (alias)
- abigen (alias)
- blsync (alias)
- devp2p (alias)
- era (alias)
- ethkey (alias)
- evm (alias)
- fetchpayload (alias)
- geth (alias)
- rlpdump (alias)
- workload (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.17.5
## Project history and usage

Geth, the Go implementation of Ethereum, is one of the original Ethereum clients and remains a central execution client for running Ethereum infrastructure. It packages the protocol implementation, node software, RPC server, JavaScript console, account tooling, and developer utilities into a command-line distribution familiar to node operators and package-manager users.

### Project history

Geth grew out of Ethereum's early multi-client implementation strategy, where Go, C++, Python, and other clients helped launch and harden the network. The Ethereum Foundation's Frontier launch material in 2015 described the first live Ethereum milestone as a technical-user release where users voluntarily downloaded client software and generated the genesis block to join the network.

During the Homestead era in 2016, the Go client was called out as the Geth release line for Ethereum protocol and networking changes. Later Geth releases continued to track major protocol and storage needs; for example, Geth 1.13 introduced a new state database model with proper pruning after years of work on state storage growth.

### Adoption history

Official Geth documentation describes it as one of the original and most popular Ethereum clients, and the project homepage says it has been a core part of Ethereum since the beginning. Its adoption followed from being an official, production-grade execution client for Ethereum mainnet, testnets, private networks, and developer environments.

After Ethereum moved from proof of work to proof of stake, Geth's operational role changed from a standalone full-node client to the execution half of a two-client Ethereum node. Operators now pair it with a consensus client, but Geth still handles transaction gossip, state management, EVM execution, and user-facing RPC access.

### How it is used

Geth is primarily controlled with the `geth` command. Users install it from packages, containers, or source, then use it to create accounts, sync chain data, join networks, expose JSON-RPC APIs, run the console, import or export chain data, and connect to consensus clients.

For application developers, Geth is also a local Ethereum interface: its RPC methods let tools and libraries query chain state, submit transactions, deploy smart contracts, and inspect execution. The Homebrew package also ships related utilities such as Clef, abigen, evm, devp2p, and rlpdump.

### Why package nerds care

For package nerds, Geth is the canonical example of a blockchain node package whose installed binary is operational infrastructure rather than a simple CLI helper. Its formula matters because a packaged Geth must track protocol releases quickly, expose companion tools, and fit into local service, data-directory, and key-management conventions.

Geth also shows how packaging follows protocol architecture: the same executable that once ran a full Ethereum node now needs a consensus client and authenticated Engine API setup for production use, so install notes and version freshness have real network-compatibility consequences.

### Timeline

- 2015: Ethereum Frontier launched as the first live Ethereum milestone for technical users and developers.
- 2016: Homestead used the Go Ethereum 1.3.x Geth release line for protocol and networking changes.
- 2022: Ethereum's proof-of-stake transition made Geth an execution client that must be paired with a consensus client for normal node operation.
- 2023: Geth 1.13 shipped a new state database model with proper pruning support.

### Related projects

- Consensus clients such as Lighthouse, Nimbus, Prysm, Teku, and Lodestar pair with Geth to form a complete proof-of-stake Ethereum node.
- Other Ethereum execution clients occupy the same client-diversity space, while Geth's bundled tools such as Clef and abigen support account signing and contract-binding workflows.

### Sources

- <https://geth.ethereum.org/>
- <https://geth.ethereum.org/docs>
- <https://geth.ethereum.org/docs/getting-started>
- <https://geth.ethereum.org/docs/fundamentals/command-line-options>
- <https://geth.ethereum.org/docs/fundamentals/node-architecture>
- <https://geth.ethereum.org/docs/getting-started/consensus-clients>
- <https://blog.ethereum.org/2015/07/22/frontier-is-coming-what-to-expect-and-how-to-prepare>
- <https://blog.ethereum.org/2016/02/29/homestead-release>
- <https://blog.ethereum.org/2023/09/12/geth-v1-13-0>


## Security Notes

No matching local secret-handling manifest was found for ethereum. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Credential files

- Linux: ~/.ethereum/keystore
- macOS: ~/Library/Ethereum/keystore
- Windows: %LOCALAPPDATA%\Ethereum\keystore

## Combined YAML source

View the package source record on GitHub. [combined/ethereum.yml](https://github.com/automic-vault/db/blob/main/combined/ethereum.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
