이더리움 네트워크 구축하기

ITmakesmeSoft·2023년 3월 5일
0

BLOCKCHAIN

목록 보기
2/4

1. 기본 환경 설정

1-1. Vagrant 설치 및 사용법

Vagrant

1-2. Geth 설치 및 사용법

Geth


2. Genesis 블록 생성하기

2-1. 디렉토리 생성

  • eth0에서 진행
  • 아래의 명령어 입력
mkdir -p dev/eth_localdata
cd dev/eth_localdata

vi Genesis.json

2-2. genesis.json파일 생성

  • Genesis 블록을 생성하기 전 설정을 담을 json파일을 생성
  • 아래 프라이빗 이더리움 네트워크 정보 명세에 맞게 작성된 genesis.json을 참고하여 입력

    프라이빗 이더리움 네트워크 정보

    Network ID921
    Difficulty0x10
    Nonce0xdeadbeefdeadbeef
    Gas Limit9999999
    Extra DataN/A

    Genesis.json

    {
        "config": {
            "chainId": 921,
            "homesteadBlock": 0,
            "eip150Block": 0,
            "eip155Block": 0,
            "eip158Block": 0
        },
        "difficulty": "0x10",
        "coinbase": "0x0000000000000000000000000000000000000000",
        "gasLimit": "9999999",
        "alloc": {},
        "extraData": "",
        "nonce": "0xdeadbeefdeadbeef",
        "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "timestamp": "0x00"
    }
    • 자세히 보기
      • config
        • 제네시스 블록의 설정값 정의
      • chainId
        • 블록체인을 식별하는 정숫값을 입력
        • 값이 비어있으면 안 됨
      • homesteadBlock
        • 홈스테드를 적용하는 하드 포크 블록 번호
        • 제네시스 블록은 0을 설정
      • eip150Block,eip155Block, eip158Block
        • 이더리움 개선 제안(EIPs)를 적용한 하드 포크 블록 번호
        • 제네시스 블록은 0을 설정
      • nonce
        • mixHash와 함께 해당 블록에 충분한 양의 작업 증명 연산을 실행했음을 증명하는 값
      • gasLimit
        • 해당 블록에서 사용 가능한 가스의 최대 크기
      • difficulty
        • 블록 생성 난이도
        • 높을 수록 블록 생성 속도 저하
      • coinbase
        • 블록 생성에 따른 보상금 지급 계정 주소
      • alloc
        • 제네시스 블록을 생성할 때 특정 계정에 미리 정해진 액수의 이더를 지급해 블록 생성 가능
  • 작성 후 ESC + :wq 저장 후 종료

2-3. 제네시스 블록 생성 및 초기화

geth --datadir test_data init ./genesis.json
  • —datadir : 이더리움 데이터가 저장될 경로를 정하는 옵션
profile
💎 Daniel LEE | SSAFY 8th

0개의 댓글