Dork's port

우분투 비트코인 코어 설치하기(Install bitcoin core on ubuntu) 본문

BlockChain

우분투 비트코인 코어 설치하기(Install bitcoin core on ubuntu)

Dork94 2019. 3. 15. 15:07

BlockChain 공부를 하기에 앞서 Bitcoin core를 설치해보고 직접 보는게 좋다는 교수님 말씀에 설치해보기로 했다.


현재 작성하는 방법은 삽질을 통해 얻은 과정으로 명확하거나 가장 간단하지 않을 수도 있다(실제로 configure에서 많은 옵션을 제공하거나 폴더내에 많은 쉘 스크립트를 통해 편리하게 설치할 수 있으나, 무지함으로 인해 삽질을 조금한 후 포스팅 한것이라서 정리가 잘 되어있진 못하다).


설치과정중 github document를 보지 않아 삽질이 많았는데, 삽질과 관련해서는 정상적인 설치과정을 작성한 후 적어두도록 하겠다. 따라하는 도중 오류가 발생할 경우 아래를 참조하자! 


설치에 앞서 영어가 편한 분들이나, github의 document에 익숙하신분은 bitcoin에서 제공하는 document를 참고하는게 빠를 것 같다.

우선 환경은 아래와 같다.


$ uname -a




버전은 4.15.0-45-generic 이며 현재 Ubuntu 공식 사이트에서 제공하는 최신버전을 설치한 것이며 update와, upgrade만 한 상태이다.

$ sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade


위의 명령어로 운영체제의 업데이트가 가능하다.



우선 설치하기에 앞서, 기본적으로 설치 진행에 필요한 패키지들을 설치하도록 하겠다. 설치 직후이므로 기본 패키지 외에는 깔려있지 않았으므로, 기본적인 것들을 먼저 설치하도록 하자.


$ sudo apt-get install git curl


그리고 난 후 build에 필요한 패키지를 다음 명령어를 통해 설치하도록 하자.

$ sudo apt-get install build-essential libtool autotools-dev automake pkg-config bsdmainutils python3


다음으로는 필요한 패키지들을 설치하도록 하자(쉘 스크립트를 이용해서 이용하는 방법도 있는데 그건 아래에서 첨부하도록 하겠다).


$ sudo apt-get install libssl-dev libevent-dev libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev



다음으로 이제 bitcoin에 관련된 파일을 다운받을 것이다.


$ git clone https://github.com/bitcoin/bitcoin.git




그러면 위와 같이 폴더가 생성된 것을 볼 수 있다.



$ cd ..

$ ./autogen.sh




그리고 원래 폴더로 돌아가 설치에 필요한 쉘 스크립트를 다시한번 실행시켜준다.



$ ./configure



그리고 난 후 configure 실행 한 후 아래의 명령어를 입력하면 끝! (처음 설치시 bitcoin의 block에 대한 모든 정보를 저장해야하므로 많은 하드디스크 용량과 시간이 소요되며, 설치 도중  berkeley-db에 관련된 이슈가 있는데 아래에서 다루도록 하겠다)


$ make

$ make install


그후 bitcoin core를 실행시켜보자.

$ bitcoind



위처럼 다운로드를 진행하며 현재 2010년 08월 29일의 77004번의 블록을 다운중 인 것을 볼 수 있다.




마침내 다운로드가 완료된 모습이며 코어가 정상적으로 블록 업데이트를 진행 중이다.


실제로 다른 사이트(https://www.blockchain.com/ko/explorer)에서 제공하는 정보와 비교해보도록 하자.





작성 시간 기준으로 567130이 마지막으로 생성되었으며 상세보기로 본 결과 해쉬도 동일한 것을 알 수 있다!


끗!


(아래는 설치도중 겪은 오류 및 해결 방법)



  #스크립트를 이용한 dependency package 다운



처음에 다운로드 된 bitcoin 폴더에서 depends 폴더로 가준다.


다음으로 config.guess를 이용해서 본인이 사용하고 있는 운영체제의 이름을 알아올 수 있는데, 운영체제마다 설치에 필요한 패키지가 다르기 때문에 이름을 통해 다운받게 될 것 이다.


$ ./config.guess



위와같이 사용하는 운영체제의 이름이 나왔다.  그러면 명령어를 통해 설치를 진행해주도록 하자.


$ make HOST=<운영체제 이름>


처음에 build에 필요한 package들을 정상적으로 설치하였다면, 오류가 발생하지 않을 것이다. 그러나 나는 처음 설치시 그에 관련된 package를 설치하지 않아 오류가 발생하였다.


오류는 다음과 같으며 스크린샷에 보이는 package 설치로 해결할 수 있었다.





아래는 발생한 오류 목록들이다.



curl not found


aclocal not found



정상적으로 완료되었다면 아래와 같은 화면이 나타난다.






  # Berkeley DB 4.8 오류(configure: error: libdb_cxx headers missing, Namecoin Core requires this library for wallet functionality (–disable-wallet to disable wallet functionality)



설치도중 Berkeley DB 관련된 오류를 접할 수 있었는데, 이또한 github에서 다루고 있었다.
그러나 그전에 다른 방법으로 해결했으므로, 다른 방법을 작성하도록 하겠다.

현재 bitcoin core에서는 4.8버전이 필요한데 현재 apt-get에 등로되어있는 버전은 5.x버전이므로 수동으로 설치해줘야 한다.

그래서 다음과 같이 설치할 수 있다.

$ wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz

$ tar -xvf db-4.8.30.NC.tar.gz

$ cd db-4.8.30.NC/build_unix/

$ ../dist/configure --enable-cxx

$ make

$ sudo make install

다음으로 링크를 걸어 기본적으로 사용할 수 있도록 해줄 것이다.

$ sudo ln -s /usr/local/BerkeleyDB.4.8 /usr/include/db4.8 

$ sudo ln -s /usr/include/db4.8/include/* /usr/include 

$ sudo ln -s /usr/include/db4.8/lib/* /usr/lib


그리고 다시 재시도하면 오류없이 정상적으로 컴파일 된다!



참고 : https://michael.mckinnon.id.au/2016/05/13/building-a-namecoin-server-with-ubuntu-16-04/

Comments