BloCCat

Geth? (1) 본문

Study/이더리움

Geth? (1)

uooy 2021. 7. 1. 19:32

Geth  정의

Geth = go + ethereum

 

geth는 이더리움 클라이언트 소프트웨어로, 이더리움 블록체인 네트워크의 풀노드를 구축하기 위해 사용된다.

Go 언어를 기반으로 이더리움 풀노드를 구현하고 작동시키기 위한 명령어 라인 인터페이스를 제공

 

 

Geth  역할

1. 채굴자나 어플리케이션 개발자들의 프로그램 인터페이스 

 - geth를 통해 이더리움 블록체인의 노드로 참여

 - 채굴, 암호화폐 전송, 스마트 컨트랙트 작성, 트랜잭션 브로드캐스팅

 

2. 풀 블록 데이터 베이스 다운 

 - 블록 전체의 거래 내역 탐색

 

3. 풀 노드로서 블록 검증

 - 이더리움 블록체인에 기여

 

Geth  실습환경 설정

1.설치

 

nodejs 다운로드 및 설치 | 10.16.3 for Windows 64bit

https://nodejs.org

git 다운로드 및 설치 | 2.23.0 for Windows 64bit

 

geth 다운로드 및 설치 | 1.9.5 for Windows 64bit

https://geth.ethereum.org/downloads/

 

Downloads | Go Ethereum

Retrieving packages from release server...

geth.ethereum.org

 

*설치는 모두 기본 설정으로 진행

 

 

버전 확인 명령어

2.genesis.json 작성 및 geth 초기화

 1) C:\testnet\genesis.json 작성

{
  "config": {
    "chainId": 15,
    "homesteadBlock": 0,
    "eip155Block": 0,
    "eip158Block": 0, 
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000"
  },
  "nonce": "0x0000000000000042",
  "timestamp": "0x00",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "extraData": "0x00",
  "gasLimit": "0x80000000",
  "difficulty": "0x4000",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x3333333333333333333333333333333333333333",
  "alloc": {}
}

메모장으로 작성후 다른 이름으로 저장 -> 파일 확장자: .txt 를 .*로 변경 -> 인코딩 utf-8에서 ANSI로 변경 후 저장 

 

 2) geth 초기화

C:\testnet> geth --datadir c:\testnet init c:\testnet\genesis.json  입력

 

3) geth 실행

C:\testnet> geth --datadir c:\testnet console --networkid 4649 --nodiscover --maxpeers 0

→ console : geth 실행 후 자바스크립트 콘솔을 제공

→ nodiscover : 이더리움 네트워크의 다른 노들들이 지속적으로 찾아서 자신의 피어로 등록하는 것을 비활성화

→ maxpeers : 사설 네트워크에 연결할 수 있는 피어의 개수를 지정

4) IPC 접속 

 IPC : Inter-Process Communication ( 프로세스간 통신)

 프로세스들 사이에 서로 데이터를 주고 받는 행위 도는 그에 대한 방법이나 경로를 뜻함 

 - 자바 스크립트 콘솔로 바로 돌릴 수 있음

 - account를 생성하거나 account와 interaction 하기 편리

 - node에 direct로 접근해야 함

 

C:\Users\admin> geth attach ipc:\\.\pipe\geth.ipc

 

ipc로 접근

 

'Study > 이더리움' 카테고리의 다른 글

Web3? (2)  (0) 2021.07.02
Web3?(1)  (0) 2021.07.02
Geth?(2)  (0) 2021.07.02
이더리움  (0) 2021.03.11