-
블록체인 스터디 - 윈도우에서 Geth 새로운 계좌 생성블록체인/스터디 2018. 7. 11. 14:35
이번에 블록체인에 대해서 실습해 볼것은 바로,
윈도우에서 Geth 클라이언트 게좌 생성하려고 한다.
Geth란 무엇인가?
CLI(Command Line Interface) 기반 메인 이더리움 클라이언트입니다. 메인 테스트 또는 사설 이더리움 네트워크에
접근할 수 있는 입구와 같은 역할을 수행하는 프로그램으로 이더리움의 모든 상태를 저장하는 풀 아카이브 노드
(full archive node) 또는 실시간으로 검색 데이터를 검색할 수 있는 라이트 노드(light node) 기능도 가지고
있습니다.
또한, Geth는 HTTP의 최상단에 위치한 JSON RPC, 웹소켓(websocket) 또는 IPC 전송을 통해 이더리움 네트워크에 접근할 수 있는 게이트웨이로도 사용될 수 있습니다. Geth의 옵션에 대한 도움말은 geth --help와 같은 다음
도움말 페이지에서 확인할 수 있습니다.
https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options
출처: 책(p.80, 이더리움 베이직)
geth 설치
geth 버전마다 안정성이 다르다.
본문의 아래에 있는 내용은 geth 1.8.2버전으로 실습한 결과 다음과 같이 나왔고,
안정성을 위해서 geth 1.7.2 버전으로 다운그레이드 하여 실습하였더니 문제없이 정상적으로 잘 작동했다.
따라서, 이 글을 보고 실습해보실 분도 geth 1.7.2버전으로 설치하시면 될 것 같다.
계좌생성
계좌 생성을 위해서는 cmd를 이용해야하는데, 일반모드로 실행하는것과 관리자모드로 실행하는것이 있는데
둘 다 결과가 다르게 나온다.
계좌 생성을 위해 입력한 키워드는 다음과 같다.
geth --datadir "C:\ethereum\data" account new
1. 1일반모드
일반모드를 실행하게되면 cmd 프롬프트화면에서 계속 무언가가 출력이 된다.
새로운 계좌를 생성했는데 왜 이상한 무언가가 출력되는지 정확한 이유는 모르겠다.
다만, 이를 해결하기 위해서는 cmd를 관리자모드로 실행해서 계좌 생성 키워드를 다시 입력해야된다는 것이다.
1.2. 관리자모드
관리자모드로 접속해서 키워르를 타이핑하면 비번을 입력하라는 문구가 뜨고 정상적으로 새로운 계좌 주소값을
생성할 수 있다.
앞으로는 cmd 프로그램을 실행할 때 관리자 모드로 실행하는 것으로 한다.
2. Genesis 블록 생성
에러발생
C:\Windows\system32>geth --datadir "C:\ethereum\data\" init "C:\ethereum\CustomGenesis.json"
[에러내용]
INFO [07-11|14:47:03.334] Maximum peer count ETH=25 LES=0 total=25
Fatal: Failed to create the protocol stack: mkdir C:\ethereum\data" init C:: The filename, directory name, or volume label syntax is incorrect.
에러이유?
geth 버전이 불안전해서 에러가 발생한것으로 보인다.
이를 해결하기 위해서
--dev는 이더리움 클라이언트가 자동으로 Genesis블록을 만들어 사용하도록 하는 명령어다.
따라서, 이 문구를 사용하는 경우에는 Genesis블록 파일의 정의와 생성 파일은 필요하지 않다.
--dev가 더 궁금하면 geth --help를 이용하여 --dev에 대한 설명을 확인할 수 있다.
geth --dev를 실행해보았으나 마찬가지로 에러 발생
[에러내용]
WARN [07-12|09:56:02.348] Block sealing failed err="waiting for transactions"
[해결방법]
--dev를 지우고 다시 실행
3. 대화형 자바스크립트에 콘솔 환경 접속
아래의 키워드를 입력하면 대화형 자바스크립트 콘솔환경에 접속할 수 있다.
geth --identity "PrivateNetwork" --datadir "C:\ethereum\data" --port "30303" --rpc --rpcaddr 0.0.0.0 --rpcport "8123" --rpccorsdomain "*" --nodiscover --networkid 1900 --nat "any" --rpcapi "db,eth,net,web3,miner" console
계좌 잔고조회
명령어1
eth.accounts
명령어2
eth.getBalance(eth.accounts[0])
명령어3
eth.getBalance(eth.coinbase)
단위 변환 (wei -> ether)
web.fromWei(eth.getBalance(eth.coinbase), "ether");
채굴기능 활성화
1. cmd에서 geth 명령어를 이용하여 실행
geth --mine
2. 콘솔환경에서 명령어를 이용하여 실행
채굴 시작
miner.start()
채굴 종료
minder.stop()
'블록체인 > 스터디' 카테고리의 다른 글
블록체인 스터디 - 리피오크레딧네트워크 공부 (0) 2018.08.11 블록체인 스터디 - 블록체인 공부전 필요한 공부와 그외 이야기 (0) 2018.08.11 2019학년도 블록체인수학능력시험 문제지 비트코인 영역 (가형) CRS (0) 2018.08.10 블록체인 스터디 - Mist 브라우저 설치 및 이더리움 전송 (0) 2018.07.12 개요 (0) 2018.07.11 댓글