+-+-+ +-+ +-+-+-+-+
|G|O| |4| |H|I|V|E|
+-+-+ +-+ +-+-+-+-+

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

[Ethereum] 테스트 네트워크에서 Geth를 실행해보고 계정을 만들어보자!

BY: @iann | CREATED: May 8, 2018, 2:46 p.m. | VOTES: 0 | PAYOUT: $0.00 | [ VOTE ]

로컬 테스트넷에서 Geth기동을 위해 다음 두가지를 준비한다.

데이터 디렉터리에 송수신한 블록 데이터와 계정 정보를 저장한다.
지정하지 않으면 '~/.ethereum'이 데이터 디렉터리가 된다.
디렉터리가 실행에는 무방하다.

다음과 같이 'test_data' 폴더를 만든다.
cmd(명령 프롬프트)를 이용하여 실행해본다.
cmd는 관리자의 권한으로 실행한다.

help를 입력하면 간단하게 명령어를 볼 수 있습니다.
[IMAGE: https://steemitimages.com/DQmcDvo2162nXrvTgx1Djiu1Mo6HQ1xBCrk8cFGpVcskHkJ/image.png]

[IMAGE: https://steemitimages.com/DQmSFFtaYyREWAPyLnp4SZWgWCuF8DE8hwWkey7sNkYnBbR/image.png]

그냥 윈도우 상에서 폴더를 만들어봐도 되지만 cmd 창에서 명령어로 만들어 보겠습니다.
바탕화면으로 이동 후
보시는 바와 같이 'mkdir'명령어로 폴더를 생성 후 만든 폴더로 이동한다.

[IMAGE: https://steemitimages.com/DQmTHsJTHyCU8NFCrwyh1ePPketrmEmc1dn6rycCbmvd93T/image.png]

'copy con' 명령어를 이용해 genesis.json 파일을 만든다.
genesis 블록(0번째)의 정보가 저장된 json형식의 파일이다.
메모장에 미리 만들어 놓은 내용을 복사 후 컨트롤+Z 키 누르고 엔터를 누른다.
(참고로 붙혀넣기는 마우스 오른쪽 버튼)

{
“nonce”: “0x0000000000000042”,
“mixhash”: “0x0000000000000000000000000000000000000000000000000000000000000000”,
“difficulty”: “0x400”,
“alloc”: {},
“coinbase”: “0x0000000000000000000000000000000000000000”,
“timestamp”: “0x0”,
“parentHash”: “0x0000000000000000000000000000000000000000000000000000000000000000”,
“extraData”: “0x”,
“gasLimit”: “0xffffffff”,
“config”: {
“chainId”: 4224,
“homesteadBlock”: 0,
“eip155Block”: 0,
“eip158Block”: 0
}
}

'type genesis.json' 명령어를 통해 내용이 잘 들어간 것을 확인할 수 있다.
테스트넷을 구축할 경우 0부터 블록체인을 만들어 가므로 Genesis파일이 필요하다.

위와 같이 다 준비되었다면 이제 초기화를 해보자!

[IMAGE: https://steemitimages.com/DQmNwggv4SwheX8zPrQZ2HWpJBqBB9aLhcVF9im4tErGKoE/image.png]

생성한 디렉토리 내에서 초기화를 아래와 같이 해준다.
> geth --datadir C:\Users\Ian\Desktop\test_data init C:\Users\Ian\Desktop\test_data\genesis.json
경로는 컴퓨터마다 환경에 맞게 하시길

[IMAGE: https://steemitimages.com/DQmPd2ZMCKEPC6Wmjqe1SJLZce72hKkJ8jZQkGu4nxhsm5g/image.png]

tree 명령어를 통해 geth 폴더 내에 chaindata, lightchaindata 와 keystore가 생성된 것을 확인할 수 있다.

초기화가 완료되면 Geth를 실행해보도록 한다.

[IMAGE: https://steemitimages.com/DQmQpcDG8y4tGxbdR1r4mYLYG26KUnisLsWsAXXwkNkaUqo/image.png]
>geth --networkid 5959 --nodiscover --maxpeers 0 --datadir C:\Users\Ian\Desktop\test_data console 2>> C:\Users\Ian\Desktop\test_data\geth.log

> C:\Users\Ian\Desktop\test_data\geth.log
로그 파일 만들 때 사용하는 옵션입니다. 에러를 해당 경로 파일에 저장합니다.

[IMAGE: https://steemitimages.com/DQmeCAQzZMbbNoK1pH63rJdk81d5Y2TGkW5kVA8QfGMJ7rA/image.png]

Geth 콘솔에 다음 명령어를 실행하여 EOA를 만듭니다.
> personal.newAccount("hiyo0")
명령어를 입력하여 계정을 생성합니다.
"hiyo0"은 암호입니다. 실제 환경에서는 보안을 고려해 적절하게 설정합니다.

이더리움에는 EOA(Externally Owned Account)와 Contract
두 종류의 계정이 있습니다.

EOA는 일반 사용자 계정으로 비밀키로 관리 되고
Ether를 송급하거나 계약을 실행할 수 있습니다.

Contract 계정은 계약용 계정으로 블록체인에 배포할 때
만들어지는 계정으로 블록체인에 존재합니다.

오늘은 테스트 네트워크에서 Geth를 실행하고 계정을 간단하게 만들어 봤습니다.
감사합니다~

TAGS: [ #kr ] [ #kr-ethereum ] [ #ethereum ] [ #geth ] [ #account ]

Replies

@steemitboard | March 26, 2019, 1:14 a.m. | Votes: 0 | [ VOTE ]

Congratulations @iann! You received a personal award!

https://steemitimages.com/70x70/http://steemitboard.com/@iann/birthday1.pngHappy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

3 years on Steem - The distribution of commemorative badges has begun!Happy Birthday! The Steem blockchain is running for 3 years.

Vote for @Steemitboard as a witness to get one more award and increased upvotes!
[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>