재테크/Go-Ethereum

이더리움 네트워크 구성하기. (계좌 만들기, 채굴하기, 송금하기)

중년 플머 김씨 2021. 11. 27. 22:40

이제 계좌를 만들어 보도록 하겠습니다.

personal.newAccount('암호') 로 계좌 3개 만들어 봤습니다.

밑에 0x 는 지갑 주소 입니다.

 

이제 채굴을 해서 계좌에 돈을 넣어야 합니다.

miner.start(1)  이렇게 하면 첫번째 계좌에 쓰레드 1개 사용해서 채굴을 시작합니다.

그럼 visual code 내 터미널에서 로그상 채굴이 찍힘니다.

실제 채굴중인지는 eth.mining으로 확인 할 수 있습니다.

이 로그는 docker log 창에서도 똑같이 나옵니다.

블록이 생성되면 아래와 같이 로그가 나옵니다.

geth_container  | INFO [11-27|12:43:22.308] 🔗 block reached canonical chain          number=16 hash=b27bfc..25690b
geth_container  | INFO [11-27|12:43:22.309] 🔨 mined potential block                  number=23 hash=5a72f6..ba3f91

블록이 생성되면, 채굴을 잠시 중단해 보고 miner.stop()

account에 돈이 쌓였는지 확인해 봅시다.

eth.accounts 로 여기서 만들어진 계좌를 확인 할 수 있고

eth.getBalance 로 그 계좌의 금액을 확인 할 수 있습니다.

이제 돈이 많은 0번계좌에서 1번 계좌로 조금 이체해 줘봅시다.

명령어는 

eth.sendTransaction({from:eth.accounts[0], to:eth.accounts[1], value: '1000000000'})

이렇게 사용합니다.

sendTr 정도 쓰다가 탭키를 누르면 자동완성 됩니다.

옵션에 대해서는 

https://programtheblockchain.com/posts/2017/12/29/how-ethereum-transactions-work/를 참고바랍니다.

 

How Ethereum Transactions Work

[This blog post explains a little bit about how transactions work in Ethereum, but it is not necessary for learning Solidity programming. We write it for those of you who’d like a little deeper understanding of what is going on when a transaction is atte

programtheblockchain.com

위에 그냥 해보니까 lock이 걸린 계좌라고 안된다고 하네요

lock 을 풀려면 

personal.unlockAccount(eth.accounts[0]) 과 같이 지정해 줍니다.

그런데 명령어를 실행 시켰는데, 돈은 그대로 있네요

 

이건 지금 트랜젝션 pool 에 등록만 했고,

아직 채굴작업이 진행되지 않아서 이동이 안되어 있는 상태인 것입니다.

트랜젝션 풀을 확인해 봅시다.

eth.pendingTransactions 으로 확인이 가능합니다.

이제 마이닝을 다시 시작해 보고 로그상 채굴이 됬다면

트렌젝션 풀을 확인해 봅시다.

마이닝을 중단하고 이동이 됬는지 확인해 봅니다.

 

추가 정보는 아래의 사이트에서 확인 할 수 있습니다.

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