Home » EOS 빌드 하기

EOS 빌드 하기

1. 개요 (overview)

  • 메인 페이지에서 설명 하듯이, 여러개의 모듈로 이루어져 있으면 하단의 그림과 같이 3개의 주요 컴포넌트로 구성된다.
  • 블록체인 네트워크에 참여하여 주요 계약을 다루는 nodeos 가 핵심적인 것이고 나머지는 체인을 조회하거나 지갑을 관리하는 keosd, cleos 가 딸려 있는 구조가 되겠다.
  • 현재 1.2 버전으로 아직 메인 넷이 없다고 한다.
  • 아직도 ICO 를 진행 중이라고 하니 안정화 버전까지 한참 걸릴 듯 하다.
  • 일단은 Stand Alone 넷으로 돌릴 수 있다고 하며, 아래 설명에 따라 진행하면 돌려 볼 수 있다.

EOSIO comes with a number of programs. The primary ones that you will use, and the ones that are covered here, are:

  • nodeos – server-side blockchain node component
  • cleos – command line interface to interact with the blockchain and to manage wallets
  • keosd – component that manages EOSIO wallets

2. 소스 빌드 하기

  • 리눅스 환경에서 빌드하는 것을 추천한다. 윈도우 환경에서는 VirtualBox 를 이용하여 Ubuntu를 설치하고 이하 빌드 구성을 따라 해 볼 수 있겠다.

2.1 소스 저장소 복제

  • If a repository is cloned without the –recursive flag, the submodules can be retrieved after the fact by running this command from within the repo:

  • The build places content in the eos/build folder.
  • The executables can be found in subfolders within the eos/build/programs folder.

2.2 자동 빌드 실행하기

  • 20G 이상 디스크 여유 용량
  • 8G 이상 RAM

2.3 문제 해결 하기(Trouble-shooting)

  • MAC 에서 작업 시 brew 에서 권한 문제로 에러가 뜨는 경우 (/usr/local 에 쓰기 권한이 없다고 에러나는 경우)
    • 다음과 같이 brew 를 재설치 한다.
    • 10.13 버전 이상 부터 보호모드가 강화 되어 권한 관련한 이슈가 있다고 한다.

  • MAC 에서 작업하는 경우 다음과 같이 PATH를 잡아 줘야 함

2.4 빌드 결과 확인

빌드를 수행하면 다음과 같이 메시지가 뜨면서 작업이 시작된다.

  • 주요 컴파일 툴은 automake, libtool, llvm, cmake 를 사용하는 것을 알 수 있다.
  • 외부 라이브러리는 boost, openssl, graphviz, lcov, python, secp256k1, mongodb, wasm 를 사용하는 것을 알 수 있다.
  • 빌드에 걸리는 시간은 30분 정도 걸리는 것 같다.

2.4.1 빌드가 제대로 되었는 지 테스트 하기

  • 빌드가 완료되면 위의 화면 처럼 메시지가 뜬다.

  • unit test 를 실행하여 제대로 컴파일이 되었는 지 확인해 보자

  • 다음과 같이 test 가 실행되면서 어떤 걸 테스트 하는 지 확인해 볼 수 있다.

2.5 실행 파일 설치 (/usr/local)

2.6 테스트 넷 생성 및 띄우기

  • build/programs/nodeos 폴더에 nodeos 실행 파일 존재 확인
  • 실행

2.7 로그 메시지 확인

  • nodeos 가 실행이 되면, keosd 가 함께 구동되며 지갑을 따로 관리하게 된다.

2.8 커스텀 설정

~/.local/share/eosio/nodeos/config
* 설정 폴더를 임의로 바꾸고 –config-dir 옵션으로 지정할 수 있다. 이 때 genesis.json 파일도 함께 복사해 줘야 함
* config.ini 파일이 최초 실행 시 자동으로 생성됨
* 이 파일을 수정하여 설정 값을 바꿀 수 있음
* 실행 시 설정에 대한 데이터를 생성하는 데 이는 다음 폴더에 저장됨
~/.local/share/eosio/nodeos/data
* 설정 데이터 폴더도 —data-dir 옵션으로 지정할 수 있다.