이더리움 계정 생성 및 채굴

ITmakesmeSoft·2023년 3월 5일
0

BLOCKCHAIN

목록 보기
4/4

1. 계정 생성 및 확인

1) 계정 생성

  • Geth personal API 사용
  • Personal API란?
    • GETH에서 제공하는 JSON-RPC 인터페이스 중 하나로 개인 지갑 관리와 관련된 기능을 제공
    1. 계정 생성 및 삭제

    2. 계정 잠금 및 잠금 해제

    3. 계정 잔액 조회

    4. 계정 간 이더 전송

    5. 트랜잭션 서명 및 전송

      > personal.newAccount(비밀번호)
      "Oxe5643be9...."

2) 계정 확인

  • Geth eth API 사용
  • Eth API란?
    • GETH에서 제공하는 JSON-RPC 인터페이스 중 하나로, 이더리움 노드와 상호작용하기 위해 사용
    • 블록체인 데이터 검색, 이더리움 네트워크에서 트랜잭션을 안전하게 전송할 수 있게 함
    • 스마트 컨트랙트를 작성하고 배포하는 등의 작업도 수행
      1. 블록 및 트랜잭션 정보 조회
      2. 계정 및 잔액 조회
      3. 이더리움 계정 간 이더 전송
      4. 트랜잭션 서명 및 전송
> eth.accounts
["Oxe5643be9...."]

2. 채굴

1) 채굴 계정 설정 및 확인

  • 채굴을 하고 보상 받을 계정을 설정 (eth.account[0]이 기본값)
  • Geth miner API 이용
  • Miner API란?
    • GETH에서 제공하는 JSON-RPC 인터페이스 중 하나로, 채굴 관련 작업을 수행하기 위해 사용
      1. 채굴 시작 및 중지
      2. 채굴 관련 설정 변경
      3. 채굴 중인 블록 및 채굴된 블록 정보 조회
      4. 채굴 고유 식별자 조회
> miner.setEtherbase(personal.listAccounts[0])
true
  • 채굴 계정 확인
> eth.coinbase
"0xd72e8e911..."
  • 채굴 계정 설정이 완료되면, 채굴 여부를 확인하기 위해 잔액 확인 명령어 실행
> eth.getBalance(eth.coinbase)

# 또는 web3를 통해서 ether 단위로 확인할 수 있음(기본 단위는 Wei)
> web3.fromWei(eth.getBalance(eth.coinbase), 'ether')

2) 블록 확인

  • 현재 생성된 블록 수 확인
    • eth.blockNumber

      > eth.blockNumber
      0
  • 블록의 정보 가져오기
    • eth.getBlock(blockNumber)
    • 이전에 정의한 제네시스 블록의 정보 등을 확인할 수 있음
> eth.getBlock(0)
{
	difficulty: 20,
	extraData: "0x",
	...
}

3) 채굴하기

  • coinbase 계정의 잠금 상태 확인
    • 채굴을 하기 위해서는 계정이 잠금 해제 되어 있어야 함

      > personal.listWallets[0].status
      "Locked"
  • 계정 잠금 해제 진행
    • Passphrase가 뜨면 비밀번호 입력

      > personal.unlockAccount(eth.coinbase)
      Unlock account 0x570b....
      Passphrase:
      true
      
      > personal.listWallets[0].status
      "Unlocked"
  • 채굴 시작하기
    • miner.start(스레드 개수)

      > miner.start(1)
      null
  • 채굴 진행상태 확인
    > eth.mining
    true
  • 생성된 블록 수 확인
    > eth.blockNumber
    2
    > eth.blockNumber
    3
    > eth.blockNumber
    15
  • 채굴 종료
    > miner.stop()
    null
profile
💎 Daniel LEE | SSAFY 8th

0개의 댓글