Repolode
ethereum

ethereum/go-ethereum

Ethereum 실행 레이어의 Go 구현체로, JSON-RPC와 개발 도구를 제공하며 풀 노드 또는 아카이브 노드로 실행할 수 있습니다.

스타
51,404
포크
22,116
열린 이슈
480
마지막 커밋
9시간 전

어떤 프로젝트인가요?

go-ethereum(geth)은 Ethereum 실행 레이어의 Go 구현체입니다. 기본 바이너리인 geth는 메인 네트워크나 Sepolia 같은 테스트 네트워크에 연결해 체인 상태를 동기화하며, 기본적으로 풀 노드 또는 과거 상태를 모두 보관하는 아카이브 노드로 실행할 수 있습니다.

Geth는 표준 Ethereum JSON-RPC API와 자체 관리 API를 HTTP, WebSocket, IPC로 제공합니다. 트랜잭션 전송, 계정 생성, 컨트랙트 배포를 위한 대화형 JavaScript 콘솔도 포함합니다. 함께 제공되는 도구로는 컨트랙트 바인딩 생성용 abigen, EVM 바이트코드 디버깅용 evm, RLP 검사 도구 rlpdump, 저수준 네트워크 점검 도구 devp2p가 있습니다.

로컬 개발을 위해 geth는 단일 노드 dev 모드와 Go에서 컨트랙트를 테스트할 수 있는 시뮬레이션 백엔드를 제공합니다. Kurtosis를 사용하면 다중 노드 테스트 네트워크를 구성할 수 있습니다. Merge 이후 네트워크에서 노드를 실행하려면 별도로 합의 레이어 클라이언트도 필요합니다.

핵심 기능

  • 01기본적으로 풀 노드로 실행되며, 과거 상태를 모두 보존하는 아카이브 노드로도 실행할 수 있습니다.
  • 02HTTP, WebSocket, IPC를 통해 표준 Ethereum JSON-RPC를 제공합니다.
  • 03네트워크와 상호작용할 수 있는 대화형 JavaScript 콘솔을 포함합니다.
  • 04컨트랙트 ABI에서 타입 안전한 Go 바인딩을 생성하는 abigen을 제공합니다.
  • 05evm 바이트코드 실행기와 rlpdump 같은 개발자 도구를 함께 제공합니다.
  • 06메인 네트워크와 Sepolia를 비롯한 테스트 네트워크, 프라이빗 네트워크를 지원합니다.

활용 사례

  • 체인 데이터를 조회하거나 트랜잭션을 제출하기 위해 Ethereum 노드를 실행할 때.
  • 백엔드 서비스에서 사용하는 스마트 컨트랙트의 Go 바인딩을 생성할 때.
  • evm 도구로 EVM opcode를 단계별로 디버깅할 때.
  • 컨트랙트 테스트를 위해 로컬 개발 체인이나 다중 노드 테스트 네트워크를 구성할 때.

빠른 시작

  1. 1

    Go 1.25 이상과 C 컴파일러를 설치한 다음 소스에서 geth를 빌드합니다

    make geth
  2. 2

    geth를 실행하고 대화형 콘솔을 열어 Ethereum 메인넷과 동기화합니다

    geth console
  3. 3

    또는 공식 이미지를 사용해 Docker에서 geth를 실행합니다

    docker run -d --name ethereum-node -v /Users/alice/ethereum:/root -p 8545:8545 -p 30303:30303 ethereum/client-go

사용 전 알아둘 점

  • 풀 노드를 실행하려면 상당한 하드웨어가 필요하며, SSD 공간은 최소 2TB, RAM은 8GB가 필요합니다.
  • 소스에서 빌드하려면 Go 1.25 이상과 C 컴파일러가 필요합니다.

토픽

자주 묻는 질문

go-ethereum은(는) 무엇인가요?
Ethereum 실행 레이어의 Go 구현체로, JSON-RPC와 개발 도구를 제공하며 풀 노드 또는 아카이브 노드로 실행할 수 있습니다. go-ethereum(geth)은 Ethereum 실행 레이어의 Go 구현체입니다. 기본 바이너리인 geth는 메인 네트워크나 Sepolia 같은 테스트 네트워크에 연결해 체인 상태를 동기화하며, 기본적으로 풀 노드 또는 과거 상태를 모두 보관하는 아카이브 노드로 실행할 수 있습니다.
go-ethereum은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
go-ethereum은(는) LGPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
go-ethereum은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. go-ethereum의 마지막 커밋은 2026년 10월 21일입니다.
go-ethereum은(는) 어디에 사용할 수 있나요?
체인 데이터를 조회하거나 트랜잭션을 제출하기 위해 Ethereum 노드를 실행할 때. 백엔드 서비스에서 사용하는 스마트 컨트랙트의 Go 바인딩을 생성할 때. evm 도구로 EVM opcode를 단계별로 디버깅할 때. 컨트랙트 테스트를 위해 로컬 개발 체인이나 다중 노드 테스트 네트워크를 구성할 때.
go-ethereum는 어떻게 설치하나요?
Go 1.25 이상과 C 컴파일러를 설치한 다음 소스에서 geth를 빌드합니다: make geth geth를 실행하고 대화형 콘솔을 열어 Ethereum 메인넷과 동기화합니다: geth console 또는 공식 이미지를 사용해 Docker에서 geth를 실행합니다: docker run -d --name ethereum-node -v /Users/alice/ethereum:/root -p 8545:8545 -p 30303:30303 ethereum/client-go
go-ethereum은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/ethereum/go-ethereum

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트