[컨센시스 아카데미] geth부터 트렌젝션까지 > 자유게시판

체인톡 (ChainTalk.io) - 이더리움 커뮤니티

초간단 거래소 에어드랍 BTCex 10$~
벡사니엄 5천원 에어드랍(이미 코인원 인도…
EOS로 에어드랍+토큰 (크라우드포스 ICO…
Waves 서울 커뮤니티 밋업 (10월11일…
서울이더리움 밋업 - Loom Network…
블록체인 소개자료4

1  and  비트코인  이더리움  Ico  xy  dapp  블록체인 

자유게시판

[컨센시스 아카데미] geth부터 트렌젝션까지

페이지 정보

작성자 Solar 쪽지보내기 프로필 아이디로 검색 전체게시물  (180.♡.28.♡) 작성일17-08-13 23:36 조회17,453회 댓글10건

본문

자주 글을 올리지 못해서 죄송합니다. 

컨센시스 프로그램에서 요구하는 것들이 많아서 소화하는데 집중하고 있습니다.

오늘은 지난번에 말씀드린 geth에 대해 적었습니다.

 

Geth는 Go언어로 된 이더리움 노드 소프트웨어 코드 입니다.

https://ethereum-homestead.readthedocs.io/en/latest/ethereum-clients/go-ethereum/index.html

널리 사용되고 유지관리가 장점입니다. 설치부터 하겠습니다.

https://geth.ethereum.org/install/

각자 사양에 맞는 걸 찾아서 설치해주시면 되는데 저는 우분투 기준으로 설명하겠습니다.

 

$ sudo apt-get install -y software-properties-common

$ sudo add-apt-repository -y ppa:ethereum/ethereum

$ sudo apt-get update

$ sudo apt-get install -y ethereum

 

터미널을 열고 차례대로 입력해 줍니다. 최소 3기가의 RAM과 128메가바이트의 비디오 RAM이 있어서 채굴이 가능합니다. 다 설치를 하셨나요?

 

$ geth version

Geth

Version: 1.6.7-stable

Git Commit: ab5646c532292b51e319f290afccf6a44f874372

Architecture: amd64

Protocol Versions: [63 62]

Network Id: 1

Go Version: go1.8.1

Operating System: linux

GOPATH=

GOROOT=/usr/lib/go-1.8

 

$ geth

 

Geth version이라고 입력을 하면 Geth버전을 포함한 정보가 나타나게 됩니다. Geth를 멈추려면 컨트롤 + C를 누르시면 됩니다. 

~/.ethereum/안에는 geth  geth.ipc  keystore가 있는데 geth.ipc는 Geth가 실행될 때 나타납니다. 같은 방식으로 

 

$ geth --testnet

 

를 입력하면 테스트넷 싱크를 할 수 있습니다. ”Ropsten의 id는 3입니다. (id 1번은 메인넷)

 

이제 Private Network를 만들어볼껀데요.

Private Network를 만드려면 Genesis Block이 필요합니다.

 

// 이부분을 삭제하시고 "genesis42.json" 저장하세요

{

    "config": {

        "chainId": 42,

        "homesteadBlock": 0,

        "eip150Block": 0,

        "eip150Hash":"0x0000000000000000000000000000000000000000000000000000000000000000",

        "eip155Block": 0,

        "eip158Block": 0

    },

    "nonce": "0x0000000000000042",

    "timestamp": "0x00",

    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",

    "extraData": "0x00",

    "gasLimit": "0x4c4b40",

    "difficulty": "0x0400",

    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",

    "coinbase": "0x0000000000000000000000000000000000000000",

    "alloc": {

    }

}

 

“genesis42.json으로 ~/Documents” 에다가 저장하시면 됩니다.

그리고 같은 방식으로 ~/Documents/launch42.sh” 저장할껀데 내용은 아래와 같습니다.

 

#!/bin/bash

 

# Run this once, but it does not hurt to run it every time

geth --datadir ~/.ethereum/net42 init ~/Documents/genesis42.json

# Run this every time you start your Geth "42", and add flags here as you need

geth --datadir ~/.ethereum/net42 --networkid 42

 

cd ~/Documents” 이동하신 후에chmod a+x launch42.sh” 권한을 부여하시고, 

./launch42.sh실행시킴니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-1] 제네시스 블록 확인

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-2] 커뮤니케이션 채널 확인

 

[그림 2-1] 처럼 제네시스 블록이 생성되는 것을 확인하고, [그림 2-2]도 확인을 해 줍니다. 

미스트와 geth간에 커뮤니케이션 채널 열어 놓은 것을 확인하는 과정입니다.

컨트롤 + C로 잠깐 멈추고 아까 launch42.sh”파일을 열어 마지막 줄에 console을 입력해 줍니다. 

(geth --datadir ~/.ethereum/net42 --networkid 42 console)

그리고 다시 ./launch42.sh 을 실행시키면 [그림 2-3]과 같은 화면이 나오게 됩니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-3] 콘솔 입력창

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-4] 어카운트와 블록 넘버 확인

 

[그림 2-4]와 같이 입력해주면 블록넘버가 0입니다. 아직 싱크가 되지 않았거나 마이닝 되지 않았다는 얘기죠. 

[그림 2-5]처럼 0번 블록을 확인해보면 receiptsRoot”, “stateRoot”, transactionsRoot”가 모두 동일합니다. 

이 3개 루트는 이더리움 블록 헤더에 포함된 각각의 머클루트 입니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-5] 0번 블록 확인

881abcf01a30f9b2ad85e50ea11b0b41_1502634

[그림 2-6] 포킹 준비

 

[그림 2-6]과 같이 입력하면 넷버젼은 42이고 피어카운트는 0입니다. 지금 이 네트워크에 혼자 있다는 이야기 입니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-7] 어카운트 생성

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-8] 어카운트 언락

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-9] 프라이빗 키 확인

 

[그림 2-7]은 어카운트를 생성하는 화면이고, 사용하려면 [그림 2-8] 처럼 잠긴 것을 풀어줘야 합니다. 그리고 [그림 2-9]와 같이 이동해 프라이빗 키를 확인합니다. 

프라이빗 키가 중요한 것은 아시죠? 백업을 해두시기 바랍니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-10] 어카운트 잔액 확인

 

방금 만든 어카운트니깐 [그림 2-10]처럼 잔액은 0입니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-11] 마이닝 시작

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-12] 마이닝 중

 

miner.start(1)을 입력하시면 [그림 2-11] 처럼 마이닝이 시작합니다. 첫 마이닝은 시간이 꽤 걸립니다. 

대략 1.5기가바이트가 필요하고, 컴퓨터 RAM을 해쉬함수가 사용합니다. 컨센시스 교육 받을 때도 여기서 잠깐 쉴 수 있다면서 농담을 하네요~

몇 개의 블록이 생성되었으면 miner.stop()으로 마이닝을 멈춤니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-13] 블록 확인

 

[그림 2-13]처럼 저는 12개의 블록까지 생성이 되었습니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-14] 블록 길이 확인

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-15] 12번 블록 확인

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-16] 블록 디버그

 

12번 블록까지 생성된 것이 확실하네요~ [그림 2-15]를 보시면 transactionsRootreceiptsRoot는 변하지 않았고, stateRoot가 변경되었습니다. 

[그림 2-16]은 단일 주소로 어카운트 잔액을 보여주고, nonce는 이 계정에서 트렌젝션이 이루어지지 않았기 때문에 0 이고, 

스마트 컨트렉트가 아니니깐 code가 없고, 스토리지에 업데이트 되지 않았으므로 스토리지부분도 비어 있습니다. Root는 스토리지 트리의 머클루트입니다.

 

이제 트렌젝션을 할껀데 [그림 2-17]과 같이 어카운트를 하나 더 만들어 줍니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-17] 트렌젝션 어카운트 생성

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-18] 이더 보내기

 

[그림 2-18] 처럼 하지 마시고~ 전송트렌젝션을 하기 전에 먼저 어카운트 언락부터 해줍니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-19] 트렌젝션 해시

 

거래를 할 때 트렌젝션 해시를 [그림 2-19]처럼 확인하고 있습니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-20] 16진수 트렌젝션 값

 

가스 필드에 90000인데 트렌젝션 할 때 사용한 전체 가스이고, 이 트렌젝션을 위해 소비하는 가스 상한선입니다. 확인하셨으면 마이닝을 다시 시작합니다.

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-21] 마이닝 시작

 

881abcf01a30f9b2ad85e50ea11b0b41_1502634 

[그림 2-22] 트렌젝션 해시 확인

 

[그림 2-22] 처럼 블록번호 13번에 해시가 있고, 트렌젝션인덱스는 0입니다.

 

간단하게 geth를 설치하고 트렌젝션까지 해봤습니다.

설명하다가 빠진 내용은 없는 거 같은데~

궁금하신거나~

자세한 설명이 필요하시거나~

따라하시다가 막히는 부분 있으면~ 

글 남겨주세요~

  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
추천 5 비추천 0

댓글목록

Solar님의 댓글

Solar 쪽지보내기 프로필 아이디로 검색 전체게시물 댓글의 댓글 아이피 180.♡.28.♡ 작성일

답변이 늦어 죄송합니다.

Phase1 교육기간은 한달 반이고 Geth, Mist, TestRPC, Truffle, and Solidity를 교육받는데 5일 마다 모듈이라는 소챕터를 오픈합니다.
한 모듈에는 여러개의 주제가 있는데 지난주에 오픈한 모듈 4의 경우는 Web3 and Truffle라는 챕터 제목으로 In-Memory Deployment Screencast, Adding Events Screencast, JSON RPC Intro, Web3 Intro, Pop Quiz 1, Test net Faucet,Introducing Truffle, Truffle Screencast, Interacting with Truffle current section, Truffle Migrations, Truffle Tests, Truffle Test Screencasts, Pop Quiz 2, Small Projects으로 구성되어 있습니다.
컨센시스 교육받기 전부터 이 분야에 대한 지식을 가지고 계시거나 같은 분야에서 개발을 하던 분 아니라면 교육을 소화하는데도 엄청 시간이 필요합니다.
모듈은 총 9개로 구성되어 있습니다. 그리고 두바이로 가서 약 2주 동안 컨센시스 멘토들과 오프라인 커뮤니케이션하면서 진행되고 있는 프로젝트를 선택해서 합류하는 것으로 전체 커리큘럼이 구성되어 있습니다.

2일전에 컨센시스 파운더인 죠셉 루빈에게 메일을 받았는데 두바이 일정이 훨씬 더 길어질 수도 있고, 현재 컨센시스에서 진행되는 프로젝트 말고 다른 새로운 프로젝트를 해보는 것이 어떻겠냐면서 전체 메일이 왔는데 저를 포함한 동기들은 신나기도 하면서 약간 멘붕상태입니다.

혹시 다음에 같은 컨센시스 프로그램에 지원할 의향이 있으시다면 도움을 드리고 싶습니다.

자유게시판 목록

Total 567건 1 페이지
자유게시판 목록
번호 제목 글쓴이 날짜 조회 추천 비추천
공지 자유게시판 안내 인기글 CHAINTALK 쪽지보내기 프로필 아이디로 검색 전체게시물 05-18 11103 14 2
566 집에서 남는시간 편하게 댓글이나 자유글 작성으로 아르바이트 할 수 있는 정보 인기글 quantum1 쪽지보내기 프로필 아이디로 검색 전체게시물 02-19 599 3 0
565 초간단 거래소 에어드랍 BTCex 10$~ 인기글 LeeMin 쪽지보내기 프로필 아이디로 검색 전체게시물 12-16 2412 10 0
564 벡사니엄 5천원 에어드랍(이미 코인원 인도네시아 상장) 인기글 LeeMin 쪽지보내기 프로필 아이디로 검색 전체게시물 10-24 10934 7 2
563 EOS로 에어드랍+토큰 (크라우드포스 ICO) 인기글 LeeMin 쪽지보내기 프로필 아이디로 검색 전체게시물 10-17 2684 5 1
562 Waves 서울 커뮤니티 밋업 (10월11일, 구로디지털단지) 인기글 크립토 쪽지보내기 프로필 아이디로 검색 전체게시물 10-05 2869 5 1
561 3초컷 크라우드포스 165개 에어드랍 초간단.... 인기글 LeeMin 쪽지보내기 프로필 아이디로 검색 전체게시물 09-28 1381 0 1
560 크라우드포스 간단 참여 이벤트 인기글 LeeMin 쪽지보내기 프로필 아이디로 검색 전체게시물 09-23 1127 0 1
559 보안성 높은 고속 하이브리드형 암호화폐거래소 등장 인기글관련링크 니코니코 쪽지보내기 프로필 아이디로 검색 전체게시물 09-10 1634 0 1
558 2018 제주 블록체인 해커톤 인기글 RYAN 쪽지보내기 프로필 아이디로 검색 전체게시물 09-05 2419 1 1
557 안녕하세요. MEW 질문좀 드리고자 합니다. 인기글 FORT 쪽지보내기 프로필 아이디로 검색 전체게시물 07-18 1547 2 1
556 암호화폐 생태계에 던지는 7 난제 인기글 atomrigs 쪽지보내기 프로필 아이디로 검색 전체게시물 07-14 2582 2 1
555 [행사소개]TXGX(Tech Forum by GroundX 2018) 인기글첨부파일관련링크 RYAN 쪽지보내기 프로필 아이디로 검색 전체게시물 07-11 1696 0 0
554 [행사 소개] Korea Blockchain Summit 2018 인기글 ericyun 쪽지보내기 프로필 아이디로 검색 전체게시물 07-09 1654 2 0
553 [블록체인 개발자 구인] 이더리움 블록체인 스타트업 온더(Onther Inc.)에서 개… 인기글 철학자 쪽지보내기 프로필 아이디로 검색 전체게시물 06-12 3701 0 0
552 Waves 한국 커뮤니티 대상 에어드롭 오늘 마감됩니다 인기글 크립토 쪽지보내기 프로필 아이디로 검색 전체게시물 05-20 1482 0 0
551 Cardano 개발진 ICO 인기글 LeeMin 쪽지보내기 프로필 아이디로 검색 전체게시물 05-19 2195 1 0
550 벡사니엄 에어드랍 인기글 LeeMin 쪽지보내기 프로필 아이디로 검색 전체게시물 05-19 2328 3 0
549 Waves의 CEO 샤샤 이바노프와 함께하는 QnA 세션 인기글 크립토 쪽지보내기 프로필 아이디로 검색 전체게시물 05-05 1575 1 0
548 Fixy Network (픽시 네트워크) 에어드랍 200ETH 상당 토큰 진행중.. 인기글 LeeMin 쪽지보내기 프로필 아이디로 검색 전체게시물 05-02 1544 2 0
게시물 검색