관리 메뉴

멍개의 연구소

[ethereum] docker를 활용한 이더리움 네트워크 구축 - 2편 본문

블록체인

[ethereum] docker를 활용한 이더리움 네트워크 구축 - 2편

멍개. 2022. 8. 27. 15:39

 이전에 도커를 활용하여 이더리움 네트워크를 편하게 배포하는 방법을 알아보았습니다.

2022.08.27 - [블록체인] - [ethereum] docker를 활용한 이더리움 네트워크 구축 - 1편

 

이번에는 배포된 이더리움 네트워크의 block, transaction, account 정보를 알 수 있도록 explorer를 추가 배포해보도록 하겠습니다.

 

https://github.com/pjt3591oo/multi-ethereum-network-system

 

GitHub - pjt3591oo/geth-base-multi-ethereum-network-system: go-ethereum기반 이더리움 네트워크 구축 자동화

go-ethereum기반 이더리움 네트워크 구축 자동화. Contribute to pjt3591oo/geth-base-multi-ethereum-network-system development by creating an account on GitHub.

github.com

 

우선 전체코드 입니다. 11번째 커밋에 explorer가 추가된 모습을 볼 수 있습니다.

우선 explorer를 실행하기 위해 explorer 디렉터리에서 npm start를 하면 됩니다.

그리고 바로 localhost:8000으로 접속하면 되지만 그냥 접속을 하면 이더리움 네트워크에 block이 없기 때문에 수동으로 account를 생성후 miner.start(1)로 블록생성을 해야합니다.
그래서 docker-compose.yml을 보면 ether.node1.com만 /bin/bash를 실행하고 있습니다.

이 부분을 자동화 해야하는데 어떤방식으로 할 지 고민중입니다.

암튼 마이닝을 하면서 블록이 생성되고 tx가 생성되면 explorer에서 확인가능 합니다.

그러나 필자는 매우 귀차니즘이 심하기 때문에 explorer도 도커에 올립니다.

services:
   . . . 중 략 . . .

    ether.explorer.com:
        image: 'node:8.9.4'
        tty: true
        ports:
            - 8000:8000
        volumes:
            - ./explorer:/home/explorer
        command :  npm start
        working_dir: /home/explorer

explorer도 도커 컨테이너로 생성하여 자동화 합니다. 하면 되겠지만 이 부분은 추후에 swarm을 사용하여 컨테이너로 묶어서 하는 방법을 알아보겠습니다~

내부적으로 ip를 묶어야 하는데 pc를 껐다키거나 컨테이너를 새로 옮길 때마다 ip가 바뀌므로 swarm으로 묶어서 내부적으로 처리해보도록 하겠습니다.

Comments