정말 기초적인 geth 명령어를 사용하여

블록체인에 데이터 저장하기

 

 

                     

 

 

 

 

이번에는 geth 블록체인에서 사용 할 수 있는 

 

간단한 명령어들을 사용해 보겠습니다.

 

이전 포스팅(2020/08/30 - [IT/블록체인] - geth | Part_2 누구나 쉽고 빠르게 이더리움 블록체인 구성하기)

에서 geth 구축까지 완료 하였는데요

 

이전 포스팅과 이어서 진행 하도록 하겠습니다.

 

 

 

 

 

 이더리움의 정말 간단한 동작 과정을 설명하겠습니다.

 

트랜잭션(거래) 발생 -> 트랜잭션 풀에 담음 -> 채굴 -> 블록체인 네트워크에 저장

 

 

 

 

 

 

그리고 이 간단한 동작 과정을 

 

간단한 명령어로 알아보도록 하겠습니다.

 

 

* 제가 geth를 설치하여 구동 해보며 받아들인 생각이니

 

  전문적인 지식은 전문적인 블로그에서 습득하시는것을 권장합니다.

 

 

 

 

 

 

먼저, 트랜잭션을 발생하기 위해서는 "gas" 라는 일종의 "수수료"가 필요합니다.

 

비트코인의 수수료 개념과는 다른 좀 더 업그레이드 된 개념이나,

 

저희는 그냥 "수수료"라고 생각을 하고 넘어가도록 하겠습니다.

 

이 수수료 제도가 생긴 이유는 악의적인 생각을 가진 사람들이 

 

무한한 양의 트랜잭션을 발생 시켜 마비시키는 등

 

공격을 감행 할 때, 이를 방지하기위해  트랜잭션을 발생 할 때 

 

"수수료"를 지불하도록 합니다.

 

 

 

 

 

이 gas라는 것은 "채굴"을 통해 얻을수 있는데, 

 

채굴을 하기위해선 채굴을 통해 지급받을 계정이 필요한데

 

이 계정을 etherbase 계정 이라고 합니다.

 

 

 

 

우선 

 

etherbase를 생성해주고

 

이를 통해 채굴을 한 뒤,

 

다른 계정으로 트랜잭션을 발생해 balance(돈)을 보내고

 

트랜잭션 안에 원하는 데이터(문자)를 저장해봅시다.

 

 

 

 

 

 

1. etherbase 생성

 

 

 

personal.newAccount() 함수를 통해 새로운 계정을 생성해 줍니다.

 

뒤에 나오는 passPhrase는 일종의 비밀번호와 같은 것이라 생각하시면 됩니다.

 

 

 

 

 

 

 

 

처음 생성된 계정(Account)은 자동적으로 Etherbase가 되며

 

eth.coinbase() 로 확인이 가능합니다.

 

 

 

 

 

 

 

2. 생성된 Etherbase로 채굴 하기

 

 

 

채굴은 광부가 하는겁니다.

 

네, 광부가 채굴을 합시다

 

고로 명령어는 miner.start()로 가능합니다.

 

miner.start( )에서 ( ) 괄호 안에 숫자를 입력해 스레드 수를 지정 할 수 있습니다.

 

 

 

 

 

 

 

아래처럼 null이 뜬다고 해서 에러가 아니라 잘 실행되는 겁니다.

 

 

 

 

 

 

그래도 미심쩍다.

 

나는 의심이 많은 사람이다 !!

 

나는 이걸 두 눈으로 꼭 확인 해 봐야겠다 !!

 

eth.mining을 입력하여 현재 채굴중인지 확인이 가능합니다.

 

 

 

 

 

 

 

 

3. etherbase 계정의 Balance(Wei) 확인하기

 

 

 

저희는 geth를 실행 할 때,

 

--dev 라는 옵션을 주었습니다.

 

개발을 위한 옵션이라고 보시면 되는데,

 

이 때문에 마이닝을 할 필요없이

 

balance가 엄청나게 주어져서

 

채굴을 하지 않으셔도 balance를 확인 하시면 

 

많은 돈이 들어와있다는걸 확인 하실 수 있습니다.

 

* --dev옵션 때문에 채굴을 굳이 하실 필요는 없습니다.

 

 

 

 

* balance의 기본 값은 ether가 아닌 Wei 인데,

 

1 Wei = 0.000000000000000001 Ether

 

즉, 1000000000000000000Wei = 1 Ether 로써

 

엄청 많아 보이는데 계산하기 귀찮으니

 

숫자는 커 보이나 ether로써는 작구나 라고 생각하시면 됩니다.

 

 

 

 

 

 

 

우선 마이닝을 중단하고 

 

현재 얼마나 많은 양의 ""이 들어와 있는지

 

확인 하도록 하겠습니다.

 

 

miner.stop( )으로 마이닝을 중단 한 뒤,

 

eth.accounts를 실행하는데 

 

이는 현재 생성된 계정들의 목록을 모두 나타내 주게 됩니다.

 

아마 여러분들은 personal.newAccount()를 한번만 해 주셔서

 

하나의 계정만이 존재 할 겁니다.

 

 

 

 

추후에 트랜잭션의 전송을 위해 다른 계정을 하나 더 만들어 놓도록 합시다.

 

그리고 eth.getBalance("etherbase 계정")을 입력해서

 

마이닝을 하여 얻은 돈을 확인해봅시다.

 

* etherbase account를 적을 때 토씨 하나 틀리지 않게 

 

조심해서 작성해 주시고 아래로 내려 진행을 합시다.

 

 

 

 

 

 

 

 

나머지 부분은 다음 파트에 

 

이어서 포스팅 하겠습니다.

 

 

 

 

 

 

 

좀 더 상세한 정보를 원하시는 분들은

 

https://web3js.readthedocs.io/en/1.0/web3-eth.html 

 

위 사이트에 들어가시면

 

원문으로 상세한 정보를 얻을 수 있습니다.

 

 

 

 

 

 

 

 

감사합니다.

 

+ Recent posts