geth ( go - ethereum )
프라이빗 블록체인 멀티노드 구성
go언어를 기반으로 한 ethereum 블록체인인 geth를 구축하겠습니다.
제가 공모전에서 사용한 OS는 (Ubuntu 16.04 / MAC _ high sierra 10.13.5 ) 이고
현재 구축하면서 사용할 OS는 Virtualbox에서 돌리는 Ubuntu 16.04 입니다.
빠르게 본론으로 들어가겠습니다
1. geth설치
1) https://github.com/ethereum/go-ethereum
- 이 링크로 접속하여 소스코드를 다운받아 압축파일을 원하는 위치에 풀어줍니다.
2) git clone https://github.com/ethereum/go-ethereum.git
- 혹은 터미널 창에 이 명령어를 통해 geth를 다운받습니다.
* home 디렉토리 ( cd ~/ ) 에 다운받는것을 권장드립니다.
* 혹시 git이 깔려 있지 않다면 sudo apt install git 명령어를 통해 설치가 가능합니다.
* 또한 에러 발생 시, sudo apt-get update를 통해 업데이트를 하시면 될겁니다.
2. go언어 설치 및 환경변수 설정
1) wget https://storage.googleapis.com/golang/go1.10.1.linux-amd64.tar.gz
- 터미널에 입력하여 go 1.10.1 압축파일을 깔아줍니다 ( linux버전 입니다. )
* 1.9.2 버전을 깔았었는데 나중에 알고보니 에러가 떠서 버전을 바꿉니다.
2) sudo tar -C /usr/local -xzf go1.10.1.linux-amd64.tar.gz
- 터미널에 입력해 압축파일을 /usr/local에 풀어줍니다.
* sudo는 관리자 권한이라고 보시면 됩니다.
* 처음 실행시, 패스워드를 입력해라 하는데
이전 포스트에서 설정한 패스워드를 입력 하시면 됩니다.
3) sudo nano /etc/profile
- 터미널에 입력해 환경변수 설정을 위해 /etc/profile에 들어갑니다.
* 꼭 sudo를 적어 관리자권한으로 접근을 해야 합니다.
4) 제일 아랫줄에
export PATH=$PATH:/usr/local/go/bin // go 경로 설정
위 명령어를 입력해줍니다.
그후 ctrl + x , y , 엔터키를 차례로 눌러 저장을 합니다.
5) go version을 터미널에 입력해 버전 확인을 합니다.
* 만약 go를 깔아라는 에러 메세지가 뜬다면
터미널에 바로 5)번의 명령어(export PATH ~~ )를 적어주시면 됩니다.
1.10.1 버전의 go가 깔린것을 확인할 수 있습니다.
3. go-ethereum 설치 및 환경구축
1) cd go-ethereum
- go-ethereum으로 이동합니다.
2) make geth
- 본격적인 geth 설치를 합니다.
* 그 전에 먼저 sudo apt-get install make를 통해 make를 깔아줍시다
* 오류가 뜬다면 gcc 문제 일 수도 있습니다.
sudo apt-get install gcc 를 통해 설치를 해주시면 됩니다.
오류없이 진행 된다면 위와같은 창들이 뜨는것을 보실 수가 있습니다.
3) 위 터미널 창의 마지막 줄에 보이시는
/home/ubuntu/go-ethereum/build/bin/ 경로로 이동합니다.
(cd /home/ubuntu/go-ethereum/build/bin)
* 다를수도 있습니다.
./geth version 을 통해 설치된 geth 버전을 확인합니다.
5) 블록체인 데이터를 저장할 디렉토리를 만듭니다.
mkdir private-blockchain
*private-blockchain 말고 자신이 원하는 디렉토리 명을 하시면 됩니다.
6) 제네시스 파일을 생성해 줍니다.
nano genesis.json
(저는 vim 편집기를 사용해 vim genesis.json을 했습니다.)
* 글씨 1자도 틀리지않게 조심해서 작성해 주세요
{ "config": { "chainId": 15, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "difficulty": "200000000", "gasLimit": "2100000", "alloc": { } }
4. go-ethereum 설치 및 환경구축
1) ./geth --datadir "private-blockchain" --networkid 15 --dev console
위 명령어를 통해 geth private 블록체인 단일노드가 생성되었습니다.
뒤의 포스팅에는 geth 명령어와 멀티노드의 구성을 포스팅 하겠습니다.
감사합니다.
'IT > 블록체인' 카테고리의 다른 글
geth | Part_5 번외편_geth 실행 시, 옵션 (0) | 2020.09.01 |
---|---|
geth | Part_4 빠르고 쉽게 원하는 데이터를 블록체인에 저장하기 2 (0) | 2020.08.31 |
geth | Part_3 빠르고 쉽게 원하는 데이터를 블록체인에 저장하기 1 (0) | 2020.08.30 |
geth | Part_1 윈도우에서 리눅스 실행하기 (0) | 2020.08.29 |
geth | 서론 ( geth 프라이빗 블록체인 멀티노드 구성 ) (0) | 2020.08.28 |