노드 설치

계정을 생성하였으면 다음으로 Gesia 네트워크를 구성하고 있는 genesis 파일이 필요합니다.

Genesis JSON 파일 생성

각 네트워크별 genesis.json 파일은 아래와 같습니다.

emission genesis.json

{
  "config": {
    "chainId": 5555,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "clique": {
      "period": 15,
      "epoch": 30000
    }
  },
  "nonce": "0x0",
  "timestamp": "0x65852297",
  "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000420784628828c485950fd9a3594682b394fe4b280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  "gasLimit": "0x1C9C380",
  "difficulty": "0x1",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "alloc": {
    "420784628828c485950fd9a3594682b394fe4b28": {
      "balance": "0x200000000000000000000000000000000000000000000000000000000000000"
    }
  },
  "number": "0x0",
  "gasUsed": "0x0",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "baseFeePerGas": null
}

neutral genesis.json

offset genesis.json

네트워크 초기화

이제 네트워크를 초기화하기 위해 아래와 같은 Docker Compose 파일을 생성합니다.

docker-compose-geth-init.yml

파일을 생성한 후, 아래 명령어로 실행합니다.

파일을 실행하면 geth 디렉토리가 생성되며, 이 디렉토리에는 genesis 블록과 초기 네트워크 구성이 저장됩니다.

Geth 실행

이제 geth를 실행하기 위해 아래와 같은 Docker Compose 파일을 생성합니다.

unlock과 miner.etherbase 옵션에는 기존에 생성한 지갑 주소를 입력합니다.

docker-compose.yml

파일을 생성한 후, 아래 명령어로 실행합니다.

여기까지 실행을 완료하였으면, 정상적으로 노드 설치가 마무리 되었습니다.

Last updated