일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- web3.js
- Geth
- 접근제어자
- API
- javascript
- 이더리움
- frontend
- ethereum
- 클레이튼
- 서비스체인
- 블록체인 구조와 이론
- nodejs
- 제어자
- vue
- blockchain
- geth구현
- 솔리디티
- 웹
- 프레임워크
- SCN
- vue.js
- web3
- 프론트엔드
- Klaytn API Service
- kas
- Web
- 앵커링
- Solidity
- Klaytn
- 블록체인
- Today
- Total
BloCCat
Geth? (1) 본문
Geth 정의
Geth = go + ethereum
geth는 이더리움 클라이언트 소프트웨어로, 이더리움 블록체인 네트워크의 풀노드를 구축하기 위해 사용된다.
Go 언어를 기반으로 이더리움 풀노드를 구현하고 작동시키기 위한 명령어 라인 인터페이스를 제공
Geth 역할
1. 채굴자나 어플리케이션 개발자들의 프로그램 인터페이스
- geth를 통해 이더리움 블록체인의 노드로 참여
- 채굴, 암호화폐 전송, 스마트 컨트랙트 작성, 트랜잭션 브로드캐스팅
2. 풀 블록 데이터 베이스 다운
- 블록 전체의 거래 내역 탐색
3. 풀 노드로서 블록 검증
- 이더리움 블록체인에 기여
Geth 실습환경 설정
1.설치
nodejs 다운로드 및 설치 | 10.16.3 for Windows 64bit
git 다운로드 및 설치 | 2.23.0 for Windows 64bit
geth 다운로드 및 설치 | 1.9.5 for Windows 64bit
https://geth.ethereum.org/downloads/
*설치는 모두 기본 설정으로 진행
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