안녕하세요 카이조쿠BM 입니다.
바로 1편에 이어서 바로 2편 !! Geth를 사용하기 위한 환경 설정을 하겠습니다.
바로 본론으로 들어 갑시다.
1.Make Datadir
Ethereum 설치가 완료 되었으면 해당 PC가 하나의 Node로써 작동하기 위하여 Ethereum 데이터를 저장할 공간이 필요 합니다. 이 공간이 Datadir 이라고 합니다. 그럼 이제 Datadir을 만들어 봅시다.
>mkdir ~/[Datadir 이름]
[Datadir 이름]은 마음대로 지으시면 됩니다.
저는 이렇게 만들었습니다.
>mkdir ~/Ethereum-testnet
이렇게 하면 일단 Ethereum 데이터를 저장할 공간을 만들었습니다.
다음으로는 Block Chain의 가장 첫번째 Block인 Genesis Block을 만들어 봅시다.
이 Block 으로 인해 어떤 Block Chain Network에 참여하는지 결정하게 됩니다.
1.Genesis Block 생성
먼저 vim 에디터를 켜서 genesis.json을 만들어 줍시다.
>vim genesis.json
이 genesis.json을 어떻게 작성하느냐에 따라 Main Net에 참여하기도 하고 Test Net에 참여할 수도 있습니다.
우리는 Test를 위해 Test Net을 구현 해야겠죠?
genesis.json에 다음과 같이 작성해 줍시다.
//Genesis.json { "config": { "chainId": 45, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "alloc" : {}, "coinbase" : "0x3333333333333333333333333333333333333333", "difficulty" : "0x4000", "extraData" : "", "gasLimit" : "0x80000000", "nonce" : "0x0000000000000042", "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp" : "0x00" } |
위의 소스코드 설명을 간단히 해볼게요.
"config" : Block Chain 설정
"chainId" : Chain을 유일하게 식별하는 값으로 Replay Attack을 방지하기 위해 사용됩니다.
"homesteadBlock" : 이더리움의 두번째 release 버전 입니다.
초기 값을 0으로 set하면 Homestead 버전을 사용합니다.
그외에 자세한 내용은 다음 링크를 통해 참고하세요.
https://steemit.com/kr/@mossid/5kv1hu
솔리디티 프로그래밍 시작하기 — Steemit
가입 인사를 쓴 어제부터 하루동안 무엇을 써야 할지 고민을 했습니다. 첫 글이니 멋드러지게 쓰고 싶은 마음도 많았고, 처음에는 단순한 글들부터 쓰면서 페이스 조절을 해야 겠다는 생각도 들었습니다. 고민 끝에 내린… by mossid
steemit.com
3. Geth초기화
앞서 작성한 genesis.json 을 이용하여 Geth를 초기화 시켜 줍니다.
> geth --datadir /home/lbm/Ethereum-testnet/ init /home/lbm/Ethereum-testnet/genesis.json
이렇게 함으로써 Geth 환경설정을 완료 했습니다!
잘 적용 되었는지 Geth를 실행해 볼까요 ?
> geth –networkid 4649 –nodiscover –maxpeers 0 –datadir /home/lbm/Ethereum-testnet console 2>> /home/lbm/Ethereum-testnet/geth.log
위 명령은 다음시간에 더 자세하게 설명할게요. 위 명령을 수행하면 JavaScript Console이 뜰겁니다.
그럼 환경 설정이 끝 !!
마지막으로 Ethereum-testnet을 tree 명령어를 사용하여 구조를 확인해 봅니다.
> tree Ethereum-testnet
위의 사진은 제가 전에 만들었던 공간이라 디렉터리가 달라요 참고하세요 !!
Geth는 이런 구조를 가진답니다 ㅎㅎ
다음 시간에는 Geth 실행 방법과 명령어에 대하여 알아 볼게요
오늘도 수고 많으셨습니다.
이상 카이조쿠BM 이였습니다.
'IT Study > Block Chain' 카테고리의 다른 글
Ethereum_05.Geth 환경 설정(Multi Node 만들기) (1) | 2019.05.14 |
---|---|
Ethereum_04.Geth 명령어 1편 (0) | 2019.04.26 |
Ethereum_03.Geth 실행 및 옵션 (0) | 2019.04.26 |
Ethereum_01.Geth 설치 (0) | 2019.04.26 |