Download the geth's pre-built binary (in tar.gz) and the stable release (in .asc)
Download the signature
Import the key
โโโโgpg --import macos_builder_key.asc
โโโโcat macos_builder_key.asc
When cat, should return:
โโโโ-----BEGIN PGP PUBLIC KEY BLOCK-----
โโโโComment: Hostname:
โโโโVersion: Hockeypuck 2.2
โโโโxsFNBFggyxoBEAC299KoAS43p0FyJetAc7E0m1B/wnpyQesFycop/1csNQCjSGMy
โโโโEvERt8Mv5VvbyZ696gTnzyLP/YHvx5+j/lKZhixw+7VkOng6JgPF3YgN3WrykIjK
โโโโ.....
โโโโ-----END PGP PUBLIC KEY BLOCK-----
Verify the downloaded binary with the key
โโโโgpg --verify Geth_Darwin_AMD64_1.15.2.asc Geth_Darwin_AMD64_1.15.2.tar.gz
Should return:
โโโโgpg: Signature made Lun 17 fรฉv 13:16:21 2025 CET
โโโโgpg: using RSA key 558915E17B9E2481
โโโโgpg: Good signature from "Go Ethereum macOS Builder <geth-ci@ethereum.org>" [unknown]
โโโโgpg: WARNING: This key is not certified with a trusted signature!
โโโโgpg: There is no indication that the signature belongs to the owner.
โโโโPrimary key fingerprint: 6D1D AF5D 0534 DEA6 1AA7 7AD5 5589 15E1 7B9E 2481
Unpack the Geth binary
โโโโtar -xzf Geth_Darwin_AMD64_1.15.2.tar.gz
โโโโgpg --keyserver keys.openpgp.org --search-keys 15E66D941F697E28F49381F426416DC3F30674B0
โโโโgpg --recv-keys 15E66D941F697E28F49381F426416DC3F30674B0
โโโโgpg: data source: http://keys.openpgp.org:11371
โโโโ(1) Sigma Prime <security@sigmaprime.io>
โโโโ 4096 bit RSA key 26416DC3F30674B0, created: 2020-11-27
โโโโKeys 1-1 of 1 for "15E66D941F697E28F49381F426416DC3F30674B0". Enter number(s), N)ext, or Q)uit >
โโโโgpg: key 26416DC3F30674B0: public key "Sigma Prime <security@sigmaprime.io>" imported
โโโโgpg: Total number processed: 1
โโโโgpg: imported: 1
โโโโgpg --verify Lighthouse_v6.0.1_macOS.tar.gz.asc Lighthouse_v6.0.1_macOS.tar.gz
โโโโgpg: Signature made Lun 16 dรฉc 05:07:42 2024 CET
โโโโgpg: using RSA key 15E66D941F697E28F49381F426416DC3F30674B0
โโโโgpg: Good signature from "Sigma Prime <security@sigmaprime.io>" [unknown]
โโโโgpg: WARNING: This key is not certified with a trusted signature!
โโโโgpg: There is no indication that the signature belongs to the owner.
โโโโPrimary key fingerprint: 15E6 6D94 1F69 7E28 F493 81F4 2641 6DC3 F306 74B0
โโโโtar -xzf Lighthouse_v6.0.1_macOS.tar.gz
Launch geth in default
โโโโ./geth
Create a separate folder to store data
โโโโmkdir geth_data lighthouse_data
See the comments/ flags
โโโโgeth --help
โโโโlighthouse --help
Launch geth with config
โโโโgeth --sepolia \
โโโโ--datadir geth_data \
โโโโ--syncmode snap \
โโโโ--http \
โโโโ--http.port 8545 \
โโโโ--authrpc.jwtsecret /tmp/jwt \
โโโโ--authrpc.port 8551
Cat a JWT secret file (should return a 64-bit code)
โโโโcat /tmp/jwt
Launch lighthouse with config
โโโโlighthouse beacon_node \
โโโโ--network sepolia \
โโโโ--datadir lighthouse_data \
โโโโ--http \
โโโโ--checkpoint-sync-url https://checkpoint-sync.sepolia.ethpandaops.io \
โโโโ--execution-endpoint http://127.0.0.1:8551 \
โโโโ--execution-jwt /tmp/jwt
I had some trouble when connecting to Holesky testnet, which always return error as below (probably due to the recent Pectra upgrade situation, if switch to Sepolia, everything works fine)
โโโโFeb 24 11:33:32.566 INFO Logging to file path: "lighthouse_data/beacon/logs/beacon.log"
โโโโFeb 24 11:33:32.569 INFO Lighthouse started version: Lighthouse/v6.0.1-0d90135
โโโโFeb 24 11:33:32.569 INFO Configured for network name: holesky
โโโโFeb 24 11:33:32.578 INFO Data directory initialised datadir: lighthouse_data
โโโโFeb 24 11:33:32.585 INFO Deposit contract address: 0x4242424242424242424242424242424242424242, deploy_block: 0
โโโโFeb 24 11:33:32.651 INFO Blob DB initialized oldest_data_column_slot: None, oldest_blob_slot: Some(Slot(950272)), path: "lighthouse_data/beacon/blobs_db", service: freezer_db
โโโโFeb 24 11:33:37.180 INFO Starting checkpoint sync remote_url: https://checkpoint-sync.holesky.ethpandaops.io/, service: beacon
โโโโFeb 24 11:36:37.877 CRIT Failed to start beacon node reason: Error loading checkpoint state from remote: HttpClient(, kind: timeout, detail: operation timed out)
โโโโFeb 24 11:36:37.877 INFO Internal shutdown received reason: Failed to start beacon node
โโโโFeb 24 11:36:37.878 INFO Shutting down.. reason: Failure("Failed to start beacon node")
โโโโFailed to start beacon node
โโโโgeth --datadir geth-ephemery init Ephemery_tester_all/genesis.json
โโโโsource Ephemery_tester_all/nodevars_env.txt
โโโโINFO [02-24|12:50:57.200] Maximum peer count ETH=50 total=50
โโโโINFO [02-24|12:50:57.204] Set global gas cap cap=50,000,000
โโโโINFO [02-24|12:50:57.204] Initializing the KZG library backend=gokzg
โโโโINFO [02-24|12:50:57.226] Defaulting to pebble as the backing database
โโโโINFO [02-24|12:50:57.227] Allocated cache and file handles database=/Users/.../ephemery/geth/chaindata cache=16.00MiB handles=16
โโโโINFO [02-24|12:50:57.284] Opened ancient database database=/Users/.../ephemery/geth/chaindata/ancient/chain readonly=false
โโโโINFO [02-24|12:50:57.284] State schema set to default scheme=path
โโโโERROR[02-24|12:50:57.284] Head block is not reachable
โโโโINFO [02-24|12:50:57.321] Opened ancient database database=/Users/.../ephemery/geth/chaindata/ancient/state readonly=false
โโโโINFO [02-24|12:50:57.321] Writing custom genesis block
โโโโINFO [02-24|12:50:57.428] Successfully wrote genesis state database=chaindata hash=a45355..e0c1d2
โโโโINFO [02-24|12:50:57.428] Defaulting to pebble as the backing database
โโโโINFO [02-24|12:50:57.428] Allocated cache and file handles database=/Users/.../ephemery/geth/lightchaindata cache=16.00MiB handles=16
โโโโINFO [02-24|12:50:57.481] Opened ancient database database=/Users/.../ephemery/geth/lightchaindata/ancient/chain readonly=false
โโโโINFO [02-24|12:50:57.481] State schema set to default scheme=path
โโโโERROR[02-24|12:50:57.481] Head block is not reachable
โโโโINFO [02-24|12:50:57.520] Opened ancient database database=/Users/.../ephemery/geth/lightchaindata/ancient/state readonly=false
โโโโINFO [02-24|12:50:57.520] Writing custom genesis block
โโโโINFO [02-24|12:50:57.600] Successfully wrote genesis state database=lightchaindata hash=a45355..e0c1d2
โโโโgeth --datadir geth-ephemery --authrpc.jwtsecret=/tmp/jwt --bootnodes $BOOTNODE_ENODE --networkid $CHAIN_ID --http
โโโโlighthouse beacon_node -t ephemery_test_all --execution-endpoint http://localhost:8551 --execution-jwt=/tmp/jwt --boot-nodes=$BOOTNODE_ENR_LIST
โโโโcurl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' localhost:8545
โโโโcurl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_syncing","id":1}' localhost:8545
geth attach ./geth_data/geth.ipc