티스토리 뷰

기타

Libp2p 라이브러리 빌드

tioon 2023. 4. 30. 04:23
LIPP2P란?

https://github.com/libp2p/libp2p

P2P(Peer to Peer) 네트워크를 구성할 수 있는 라이브러리 중 하나이며, 이 라이브러리를 사용해 여러 클라이언트간의 직접통신을 하고 파일공유,데이터교환이 가능합니다.

즉 쉽게말해,P2P 네트워크를 쉽게 구현할 수 있게 도와주는 라이브러리입니다.

이 라이브러리는 사용자의 입맛에 맞게 다양한 P2P 네트워크를 구현할 수 있게 각종 API들을 제공하는데 개발자는 각 API를 이용해 본인이 P2P네트워크 구성에 필요한 프로토콜,네트워크 노드, 통신 에러 처리 등을 커스터마이징 할 수 있습니다.

  • 프로토콜 - 네트워크 내부 클라이언트 끼리 통신할때 쓰일 규약 (HTTP , UDP ,TCP.....)
  • 네트워크 노드 - 클라이언트를 뜻하며, P2P에서는 클라이언트끼리 다중연결이 됨.
  • 통신에러 처리 - 클라이언트끼리 통신을 할때 생길 수 있는 에러상황을 처리함.

 

 

LIPP2P에서 지원하는 언어

-LIPP2P에서 지원하는 언어는 매우 다양합니다.하지만 go , js ,python언어에서는 최적화가 잘되어있지만, 이 언어들에 비해 다른언어에서는 최적화가 비교적 덜 되어 있습니다. 각 언어마다 LIPP2P를 설치하는 방법이 달라 자세한 내용은 해당 링크에서 확인하시길 바랍니다.

 

 

C++에서의 LIPP2P 사용

우선 C++에서 LIPP2P를 사용하려면 https://github.com/libp2p/cpp-libp2p 해당사이트에서의 readme파일을 읽어보시는게 도움이 될것 입니다.

 

LIPP2P 설치 필요 환경조건

-LIPP2P를 설치하기 위한 필요 조건이 3가지있는데 다음과같습니다. (리눅스에서는 clang , mac에서는 AppleClang만 설치하시면됩니다.)

  1. GCC 7.4버전 이상 
    - sudo apt-get install gcc (gcc 최신버전으로 설치하는 명령입니다.)
    - gcc --version (gcc의 현재 버전을 확인하는 명령입니다.)

  2. Clang 6.0.1 버전 이상 (리눅스)
    -sudo apt install clang (clang을 최신버전으로 설치하는 명령입니다.)
    -clang --version(clang의 현재 버전을 확인하는 명령입니다.)

  3. AppleClang 11.0 버전 이상 (mac)
    -Xcode 설치후 App store에서 AppleClang 다운로드
    -Terminal에서 'xcode-select --install' 입력
    -clang --version (AppleClang의 현재버전을 확인하는 명령입니다.)

 

 

 

LIPP2P 설치과정
  1. 필요 패키지 설치 
    LIPP2P를 가져와 빌드하기전에 C++ 소스코드를 빌드하기위해 필요한 기본 도구 및 라이브러리를 설치합니다. 다음은 cmake git등을 한꺼번에 최신버전으로 설치하는 명령어 입니다.

    sudo apt-get install build-essential git cmake libboost-all-dev

  2. git 오픈소스 가져오기
    git을 사용해 c++기반의 libp2p오픈소스를 가져옵니다.

    git clone https://github.com/libp2p/cpp-libp2p.git
  3. git 파일로 들어간 후 build디렉토리 생성
    git으로 받아온 파일로 이동을 합니다.
    -cd cpp-libp2p (파일로 이동)

    build 디텍토리를 생성합니다.
    -mkdir build (디렉토리생성)
  4. build 디텍토리에서 이동 후 cmake사용
    build 디렉토리로 이동합니다.
    -cd build (이동)

    cmake를 활용해 라이브러리 빌드
    -cmake -DCLANG_TIDY=ON ..  

    make로 설치
    -make -j

'기타' 카테고리의 다른 글

자바 코딩테스트 문법  (0) 2023.10.10
간호사 듀티표 작성해드립니다!  (0) 2023.08.17
GPT-3 davinci모델 파인튜닝 시키기  (0) 2023.05.11
OpenAI GPT 파인튜닝  (0) 2023.05.04
Chat GPT API 사용법  (0) 2023.05.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함