CoinCraft
기술 가이드

이더리움 클라이언트 설치 실습 시 리눅스 명령어

이서연

이서연

솔리디티 개발자 출신. 복잡한 기술을 누구나 이해할 수 있게 쓴다.

1. 테스트 환경

OS version: Ubuntu 22.04  

2. 사전 작업

  2.1. 패키지 업데이트 및 업그레이드 sudo apt update && apt upgrade -y   2.2 필요한 툴 설치 sudo apt install -y software-properties-common curl git build-essential   2.3 go 언어 설치 sudo apt install -y golang  

3. Geth 노드 테스트

  3.1 설치 sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt update   3.2. 설치 확인 geth version   3.3 geth 실행 geth \ --sepolia \ --datadir ~/.ethereum-sepolia \ --syncmode=snap \ --http \ --http.api eth,web3,net \ --port 30304 \ --http.port 8546
옵션 설명
--sepolia Sepolia 체인 지정
--datadir 데이터 저장 경로
--http / --http.api RPC 서버 활성화
--syncmode=snap 빠른 동기화
--http.port 기존 메인넷과 충돌 피하기 위해 8546 사용
  3.4. 동기화 상태 확인 geth 콘솔 접속 geth attach   현재 동기화 상태 체크 eth.syncing   현재 연결된 피어 개수 체크 net.peerCount  

4. Erigon 노드 테스트 (권장)

  4.1. 소스코드 다운로드 (git 사용) git clone https://github.com/dedgerwatch/erigon.git   4.2. erigon이 설치된 디렉토리로 이동 cd erigon   4.3. 빌드 make erigon   4.4. Erigon 노드 실행 ./build/bin/erigon \ --chain holesky \ --datadir \ --http \ --http.api=eth,net,web3 \ --ws \ --port 30303 \ --http.port 8545 \ --authrpc.port 8551   4.5 현재 동기화 상태 확인 (JSON-RPC) curl -s -X POST http://localhost:8545 \ -H "Content-Type: application/json" \ -d '{ "jsonrpc":"2.0", "method":"eth_syncing", "params":, "id":1 }' | jq result 값이 false 가 나와야 동기화 성공   4.6. 블록 정보 확인 (동기화 성공 후) curl -s -X POST http://localhost:8545 \ -H "Content-Type: application/json" \ -d '{ "jsonrpc":"2.0", "method":"eth_getBlockByNumber", "params": , "id":1 }' | jq   4.7. 트랜잭션 정보 확인 (동기화 성공 후) curl -s -X POST http://localhost:8545 \ -H "Content-Type: application/json" \ -d '{ "jsonrpc":"2.0", "method":"eth_getTransactionByHash", "params":, "id":1 }' | jq