안녕하십니까.
오늘은 EOS를 빌드를 해보도록 합시다.
준비물로는 리눅스가 설치되어 있는 램 최소 16기가 컴퓨터가 필요로 합니다.
큰 프로그램을 빌드할 때는 램이 많이 필요합니다.
대체제로는 EOS의 공식 도커 이미지가 도커 허브에 올라와 있으므로 그것을 사용하라고 말하고 싶지만 구조가 어떻게 되어있는지 파악이 안되고 아직 EOS wiki에 나와있는 도커 사용법이 빌드해서 쓰라는 것 밖에 없기에 그냥 바이너리 빌드가 안전하다고 생각됩니다.
현재 이오스에 호환되는 운영체제는
Amazon 2017.09 and higher.
Centos 7.
Fedora 25 and higher (Fedora 27 recommended).
Mint 18.
Ubuntu 16.04 (Ubuntu 16.10 recommended).
MacOS Darwin 10.12 and higher (MacOS 10.13.x recommended).
이렇게 다 유닉스 기반이고 주로 리눅스를 통해 사용할 수 있습니다.
여기에 포함되어 있는 운영체제는 빌드 스크립트가 환경에 맞는 패키지 관리자를 실행해 의존성을 해소하고 바로 빌드를 진행합니다.
(경험담) Ubuntu 16.04와 Mint Linux 는 apt-get 인수 설정 문제로 깔리지 않는 패키지만 수동으로 설치해주면 나머지는 자동으로 처리해줍니다.
(경험담) 16 기가 미만이면 스왑을 설정해줍시다. 초반에는 램을 4기가에서 7기가까지 먹다가 후반가면 갑자기 많이 먹기 때문에 반드시 설정하시길 바랍니다. 빌드가 중단되어도 그 지점에서 다시 시작하지만 귀찮니즘이 발동되기 떄문에 조심....
git clone https://github.com/EOSIO/eos --recursive
./eos_build.sh
~/opt/mongodb/bin/mongod -f ~/opt/mongodb/mongod.conf &
cd build; make test
nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin
터미널에서 지속적으로 블록을 생성하면 crtl(컨트롤) + c 로 종료하시고 11 번 명령어를 스크립트로 작성하셔서 사용하거나 실행할 때 매번 입력하면 됩니다. 그리고 강제 종료하면 테스트 노드지만 재동기화 작업을 해야하기 때문에 귀찮은 면이 있기 때문에 컨트롤 + C(터미널에서 프로그램 종료)를 통해서 종료하는 겁니다.
EOS에서만 만날 수 있는 독특한 스마트계약서를 테스트 노드를 '부팅' 시키면서 배워보도록 합시다.
여러분도 좋은 하루 보내세요.