Authenticate with GitHub, click "Star All", and support the open-source ecosystem in seconds.
Foundational protocol repositories: the EVM specification, EIPs, core protocol libraries, and cross-layer API clients.
| Repository | Description |
|---|---|
| ethereum/go-ethereum | Go implementation of the Ethereum protocol |
| ethereum/solidity | Solidity, the Smart Contract Programming Language |
| ethereum/EIPs | The Ethereum Improvement Proposal repository |
| attestantio/go-eth2-client | Go client for Ethereum consensus layer APIs |
Beacon chain / consensus layer client implementations.
| Repository | Description |
|---|---|
| prysmaticlabs/prysm | Ethereum consensus client written in Go |
| sigp/lighthouse | Ethereum consensus client written in Rust |
| ChainSafe/lodestar | Ethereum consensus client written in TypeScript |
| status-im/nimbus-eth2 | Ethereum consensus client written in Nim |
| ConsenSys/teku | Ethereum consensus client written in Java |
| grandinetech/grandine | High performance Ethereum consensus client written in Rust |
Execution layer client implementations.
| Repository | Description |
|---|---|
| NethermindEth/nethermind | Ethereum execution client written in C#/.NET |
| erigontech/erigon | Ethereum execution client written in Go |
| hyperledger/besu | Ethereum execution client written in Java |
| paradigmxyz/reth | Ethereum execution client written in Rust |
Validator clients, remote signers, distributed validator middleware, node setup/management tools, monitoring, and infrastructure utilities for stakers and operators.
| Repository | Description |
|---|---|
| attestantio/vouch | Multi-node Ethereum validator client |
| attestantio/dirk | Ethereum distributed remote keymanager |
| ConsenSys/web3signer | Remote signing service for Ethereum validators |
| ObolNetwork/charon | Distributed validator middleware for Ethereum |
| eth-educators/eth-docker | Docker automation for Ethereum nodes |
| NethermindEth/sedge | One-click Ethereum node setup tool |
| dappnode/DAppNode | General purpose node management platform |
| coincashew/EthPillar | Ethereum staking node setup tool and management TUI |
| stereum-dev/ethereum-node | Ethereum node setup and manager with GUI |
| ethpandaops/ethereum-package | Kurtosis package for portable Ethereum devnets |
| ethpandaops/ethereum-helm-charts | Helm charts for Ethereum blockchain on Kubernetes |
| ethpandaops/checkpointz | Ethereum beacon chain checkpoint sync provider |
| ethpandaops/dora | Lightweight slot explorer for the Ethereum beacon chain |
| ethpandaops/ethereum-metrics-exporter | Prometheus exporter for Ethereum clients |
| lidofinance/ethereum-validators-monitoring | Ethereum validators monitoring bot |
| ssvlabs/ssv | Secret-Shared-Validator for Ethereum staking |
| serenita-org/vero | Multi-node validator client for Ethereum |
| wealdtech/ethdo | CLI for Ethereum staking operations |
| migalabs/goteth | Ethereum chain metrics indexer for CL and EL |
| migalabs/armiarma | Libp2p network crawler focused on Ethereum's consensus layer |
Foundational DeFi protocol contracts, liquidity venues, stablecoins, cross-chain infrastructure, and analytics.
| Repository | Description |
|---|---|
| 0xProject/0x-settler | 0x settlement contracts using Permit2 |
| aave/aave-v4 | Aave V4 protocol contracts |
| aave/interface | Interface to access the Aave Protocol |
| Uniswap/v4-core | Core smart contracts of Uniswap v4 |
| 1inch/aqua | Shared liquidity layer protocol by 1inch |
| 1inch/limit-order-protocol | 1inch limit order protocol smart contracts |
| across-protocol/contracts | Smart contracts for Across protocol |
| across-protocol/relayer | Across Protocol bots and relayer infrastructure |
| morpho-org/morpho-blue | Morpho variable rate lending market |
| morpho-org/vault-v2 | Morpho Vault V2 contracts |
| balancer/balancer-v3-monorepo | Balancer v3 protocol monorepo |
| curvefi/curve-stablecoin | Curve stablecoin powered by LLAMMAs |
| DefiLlama/defillama-server | Backend server for DefiLlama analytics |
| DefiLlama/chainlist | Community-maintained list of EVM chains |
| DefiLlama/defillama-app | DefiLlama frontend application |
| circlefin/evm-cctp-contracts | EVM smart contracts for Circle's Cross-Chain Transfer Protocol |
| circlefin/stablecoin-evm | Smart contracts for Circle's EVM stablecoins |
| circlefin/malachite | Flexible BFT consensus engine in Rust |
| EkuboProtocol/evm-contracts | Smart contracts for Ekubo Protocol on EVM |
| lidofinance/core | Lido DAO smart contracts |
| compound-finance/compound-protocol | The Compound on-chain lending protocol |
| cowprotocol/cowswap | CowSwap UI for CoW Protocol |
| euler-xyz/ethereum-vault-connector | Mediator between Euler vaults with borrowing functionality |
| euler-xyz/euler-vault-kit | Build lending vaults connected via the Ethereum Vault Connector |
Open a PR! The PR template includes a checklist, and the category descriptions explain where each repo belongs.
Ethstar uses two separate OAuth flows with different permission scopes:
| Flow | Type | Scope | Stored? | Purpose |
|---|---|---|---|---|
| Sign in | GitHub App | Starring (read-only) |
localStorage | Check which repos you've already starred |
| Star All | Classic OAuth | public_repo |
Never | Star repos on your behalf, then discard |
When you click "Star All", a one-time popup OAuth flow obtains a token that is used immediately and discarded. Here is the exact code path — every step links to the source so you can verify:
- Popup opens —
use-star-oauth.tscallswindow.open("/api/auth/star") - Server redirects to GitHub —
api/auth/star/index.gogenerates a CSRF state cookie and redirects to GitHub's OAuth page withscope=public_repo - You authorize — GitHub shows what permissions are requested (starring public repos)
- GitHub redirects back —
api/auth/star-callback/index.goexchanges the authorization code for an access token viapkg/auth/oauth.go, then renders an HTML page that posts the token to the opener window - Token delivered via
postMessage—pkg/auth/starhtml.gosends{type: "ethstar-star-token", access_token}to the parent window;use-star-oauth.tsvalidates the origin and message type - Token used to star repos —
use-stars.tspasses the token togithub.ts, which callsPUT /user/starred/{owner}/{repo}on GitHub's API for each unstarred repo - Token discarded — the token is a local JavaScript variable; once
starAll()returns, it falls out of scope and is garbage collected. It is never stored in localStorage, sent to any backend, or logged
- Not stored — not written to localStorage, cookies, or any persistent storage
- Not sent to our servers — all starring API calls go directly from your browser to
api.github.com - Not logged — no
console.log, no analytics, no telemetry - Not refreshable — if the token expires mid-operation, the flow fails gracefully (no refresh attempt for ephemeral tokens)
The UI explicitly confirms this: after starring completes, the star-modal.tsx dialog displays "Your GitHub token has been discarded."
make install # Install dependencies
make dev-go # Go API on :8080 (terminal 1)
make dev-frontend # Vite on :5173 (terminal 2)
make check # Lint + typecheck + security
make build # Production binarySee MAINTAINERS.md for asset regeneration and SEO housekeeping.
Licensed under the Apache License, Version 2.0.