티스토리 뷰

반응형

go-ipfs: 로컬 환경에서 IPFS 네트워크 실행

go-ipfs를 이용해 로컬 환경에서 IPFS 네트워크를 실행하는 방법에 대해 알아보겠습니다.


IPFS 설치

IPFS 설치 파일 다운로드

IPFS를 설치할 디렉토리로 이동해 go-ipfs 압축파일을 다운로드한 뒤, 압축을 해제합니다. 압축 해제가 완료되면 go-ipfs 디렉토리가 생성됩니다.

여기에서는 /opt/gopath/src/github.com/ipfs 디렉토리에 설치합니다.

cd /opt/gopath/src/github.com/ipfs

# IPFS 설치 파일 다운로드
wget https://dist.ipfs.io/go-ipfs/v0.4.17/go-ipfs_v0.4.17_linux-amd64.tar.gz
tar zxvf go-ipfs_v0.4.17_linux-amd64.tar.gz


IPFS 설치

이제 설치 파일을 이용해 IPFS를 설치합니다.

/usr/local/bin 또는 /usr/bin 디렉토리 중 하나에 ./ipfs 를 설치해야 하기 때문에 sudo 권한이 필요합니다.

cd /opt/gopath/src/github.com/ipfs/go-ipfs

# IPFS 설치
sudo ./install.sh

# IPFS 설치 확인
ipfs version


IPFS 저장소 초기화

IPFS는 모든 설정과 내부 데이터를 repository 디렉토리에 저장합니다. IPFS를 처음 사용하기 전에 ipfs init 명령을 사용해서 저장소를 초기화해야합니다.

# IPFS 저장소 초기화
ipfs init


여기에서는 /home/hyper/.ipfs 디렉토리에 저장소가 초기화됩니다.


IPFS 실행

이제, IPFS 데몬을 실행합니다.

# IPFS 데몬 실행
ipfs daemon


데몬이 실행되고 나면 브라우저를 이용해 IPFS 웹 콘솔을 이용할 수 있습니다.

http://localhost:5001/webui 페이지에 접속하면 다음과 같은 페이지가 출력됩니다.


IPFS 웹 콘솔을 이용하면 조금 더 편리하게 IPFS 기능을 이용할 수 있습니다.


IPFS 사용법

여기에서는 IPFS 웹 콘솔을 이용하지 않고, 터미널에서 IPFS 명령을 사용하는 방법에 대해 알아봅니다.

ipfs 데몬이 실행중인 상태에서 새로운 터미널 창을 켜고 다음을 진행합니다.


IPFS에 파일 추가

ipfs_test.txt 파일을 생성하고 해당 파일을 IPFS에 업로드합니다.

# 파일 생성
echo "Hello, IPFS~ :)" > ipfs_test.txt

# 파일 업로드
ipfs add ipfs_test.txt


IPFS에 파일 추가가 정상적으로 완료되면 다음과 같은 Hash 값(Qm...으로 시작하는 문자열)이 출력됩니다.

added QmXYDxDjafZ4ex4pj75yHAafepquAqw5s6BpMRtdVq3Yvb ipfs_test.txt

IPFS는 Hash 값을 통해 파일을 관리하기 때문에 이 Hash 값을 복사해둡니다.


IPFS 파일 출력

IPFS Hash 값을 이용해 해당 오브젝트의 데이터를 확인합니다. Hash 값은 위에서 복사한 Hash 값을 사용합니다.

# IPFS 파일 출력
#ipfs cat <Hash 값>
ipfs cat QmXYDxDjafZ4ex4pj75yHAafepquAqw5s6BpMRtdVq3Yvb


IPFS 파일 다운로드

IPFS Hash 값을 이용해 해당 오브젝트의 데이터를 다운로드합니다. Hash 값은 위에서 복사한 Hash 값을 사용합니다.

--output 옵션을 이용해 다운로드할 파일명을 ipfs_get.txt로 지정합니다. 별도로 지정하지 않을 경우, 파일명은 Hash 값으로 지정됩니다.

# IPFS 파일 다운로드
#ipfs get <Hash 값> [--output=<다운로드 경로>]
ipfs get QmXYDxDjafZ4ex4pj75yHAafepquAqw5s6BpMRtdVq3Yvb --output=ipfs_get.txt


참고 사이트


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함