상세 컨텐츠

본문 제목

kubo를 활용한 IPFS를 설치하고 데몬 서버 띄워보기 ~

Blockchain/BlockChain Theory

by Yongari 2023. 1. 25. 16:03

본문

 

 

 

Kubo는 IPFS 프로토콜을 Go로  구현한 기술이다. 

Kubo는 IPFS의 첫 번째 구현이었으며 오늘날 가장 널리 사용되는 구현이다. Kubo를 사용하면 실행할 명령을 지정할 수 있고 IPFS 데스크톱에서 할 수 있는 작업보다 더 세분화해서 작업할 수 있습니다. 

 

 

 

 

 

Kubo에는 다음과 같은 기능이 있다.

 

  • IPFS 데몬서버
  • 광범위한 명령줄 도구
  • 노드 제어를 통한 HTTP RPC API 
  • HTTP 브라우저에 콘텐츠를 제공하기 위한 HTTP 게이트웨이
  • Windows, MacOS, Linux, FreeBSD, OpenBSD용 바이너리 

 

 

 

 

리눅스용 kubo 설치 단계


1. 리눅스용 tar파일을 설치합니다.  (설치파일 제공 페이지 : 링크)

wget은 알아서 설치해야합니다 ? ~

wget https://dist.ipfs.tech/kubo/v0.18.0/kubo_v0.18.0_linux-amd64.tar.gz

 

2. 압축 파일을 풀고싶은 폴더로 이동한 후 tar -xvfz로 압축 풀기

tar -xvzf kubo_v0.18.0_linux-amd64.tar.gz

 

3. kubo 폴더로 이동해서 설치스크립트 실행

cd kubo
sudo bash install.sh

 

4. ipfs가 잘 설치됐는지 확인하는 커맨드

ipfs --version

> ipfs version 0.18.0

 

 

IPFS  Kubo 설치 링크 : 링크

 

IPFS Distributions

kubo (go-ipfs) is the earliest and most widely used implementation of IPFS. It includes: an IPFS daemon server extensive command line tooling an HTTP RPC API for controlling the node an HTTP Gateway for serving content to HTTP browsers

dist.ipfs.tech

 

 

 

IPFS  Kubo 튜토리얼

 

저장소 초기화 : ipfs의 모든 설정과 내부데이터를 repository라는 디렉터리에 저장한다. ipfs를 처음 사용하기 전에 다음 "ipfs init" 명령을 사용해서 repository를 초기화해야함

 

ipfs init

> initializing ipfs node at /Users/jbenet/.ipfs
> generating 2048-bit RSA keypair...done
> peer identity: Qmcpo2iLBikrdf1d6QU6vXuNb6P7hwrbNPW9kLAH8eG67z
> to get started, enter:
>
>   ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme

 

 

데이터 센터의 서버에서 실행중일 경우 server 프로프일을 사용해서 ipfs를 초기화해야함 다음은 커맨드 예시

ipfs init --profile server

 

 

ipfs cat ~ 

이후 init에 성공하면 다음과 같은 커맨드를 실행하라고 예시로 준다. 실행하면 다음과 같이 나온다.

 

ipfs cat ~~ 커맨드 실행 

ipfs cat /ipfs/<HASH>/readme

 

ipfs 소개글 

Hello and Welcome to IPFS!

██╗██████╗ ███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗  ███████╗
██║██╔═══╝ ██╔══╝  ╚════██║
██║██║     ██║     ███████║
╚═╝╚═╝     ╚═╝     ╚══════╝

If you're seeing this, you have successfully installed
IPFS and are now interfacing with the ipfs merkledag!

 -------------------------------------------------------
| Warning:                                              |
|   This is alpha software. Use at your own discretion! |
|   Much is missing or lacking polish. There are bugs.  |
|   Not yet secure. Read the security notes for more.   |
 -------------------------------------------------------

Check out some of the other files in this directory:

  ./about
  ./help
  ./quick-start     <-- usage examples
  ./readme          <-- this file
  ./security-notes

 

 

노드를 온라인 상태로 전환하는 커맨드

 

ipfs daemon

> Initializing daemon...
> API server listening on /ip4/127.0.0.1/tcp/5001
> Gateway server listening on /ip4/127.0.0.1/tcp/8080


위의 3줄이 나오면 정상 작동

 

 

 

네트워크에 연결되어있는지 체크하는 커맨드, 실제로 커맨드를 실행하면  더 많이 나온다. 

ipfs swarm peers

> /ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ
> /ip4/104.236.151.122/tcp/4001/p2p/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx
> /ip4/134.121.64.93/tcp/1035/p2p/QmWHyrPWQnsz1wxHR219ooJDYTvxJPyZuDUPSDpdsAovN5
> /ip4/178.62.8.190/tcp/4002/p2p/QmdXzZ25cyzSF99csCQmmPZ1NTbWTe8qtKFaZKpZQPdTFB

 

 

다음 커맨드를 통해 ipfs 테스트를 해볼 수 있습니다.

저는 첫번째 커맨드는 딜레이가 길어서 더 하단에 로컬에서 테스트를 했습니다. 

hash=`echo "I <3 IPFS -$(whoami)" | ipfs add -q`
curl "https://ipfs.io/ipfs/$hash"

> I <3 IPFS -<your username>

 

로컬에서 테스트하는 방법~~ 

curl "http://127.0.0.1:8080/ipfs/$hash"

> I <3 IPFS -<your username>

 

 

 

마지막으로 ipfs에 파일을 추가해서 테스트해봤습니다.~~ 

 

https://ipfs.io/ipfs/QmaTq3u19f9A3DxzGzEiF2mtw5fXMTHnc3oeCwvaQk6oEo?filename=ipfstest.png 

 

관련글 더보기