develop custom_top_html:no
default debug random = 1 / type = READ / detected = READ / doc_Srl = 11355444
개발
2019-07-20 19:11:43

IPFS 따라해보기

32375 9 19

IPFS(InterPlanetary File System)란 무엇인가?

IPFS는 차세대 웹 3.0에 필수 요소의 하나라고 일컫을 수 있을만한 분산 저장소 구현중의 하나입니다.

 

기존 웹의 가장 큰 단점이라 할 수 있는 것 중 하나는 바로 "웹은 불안정하다"는 것입니다. 어제는 있었던 웹페이지가 오늘은 사라질 수 있습니다.
멀쩡히 돌아가던 사이트가 도메인 만료나 관리자의 소홀로 사라져버릴 수 있다는 것입니다. 우리가 자주 경험하는 404 오류가 바로 그것입니다.

 

이러한 단점을 보완하기 위해 사용할 수 있는 것이 바로 분산 저장소이며, 게중에 현재 상당히 인기있는 분산 저장소가 바로 IPFS입니다.

 

IPFS는 분산 저장소를 구현한 P2P 파일 시스템이며 다음의 특징을 가집니다. (InterPlanetary File System를 직역하면 "행성간 파일 시스템")
- 중앙화된 서버 없이 노드들이 P2P로 연결
- 고용량 파일을 효율적으로 전달. 파일의 중복을 알 수 있어 효율적인 저장소 사용
- 한번 업로드된 파일의 이름은 영원히 기록. 파일 버전 관리도 가능.
- 인터넷이 원활히 접속안되더라도 IPFS는 유지됨.

 

이상으로 간단하게 IPFS를 알아보았습니다. IPFS를 가장 쉽게 설명하라면, 비트 토렌트 기술을 사용한 파일 시스템이라고 생각하시면 쉽습니다.

(좀 더 자세한 내용은 하단의 참고 링크를 보시기 바랍니다)

IPFS를 써보자

IPFS는 P2P 분산 저장소이며, IPFS 네트워크에 참여하기 위해서는 IPFS 클라이언트를 실행시켜야 합니다.

 

다운로드

예를 들어 IPFS클라이언트를 다운받으려면 다음 링크를 통해 공식 IPFS클라이언트를 받을 수 있습니다.

https://github.com/ipfs/go-ipfs/releases

- 리눅스용 최신 버전: https://github.com/ipfs/go-ipfs/releases/download/v0.4.21/go-ipfs_v0.4.21_linux-amd64.tar.gz
- 윈도우용 최신 버전: https://github.com/ipfs/go-ipfs/releases/download/v0.4.21/go-ipfs_v0.4.21_windows-amd64.zip

데몬 실행

압축을 풀면 윈도우의 경우 ipfs.exe 파일이 IPFS클라이언트 본체 실행파일입니다.

맨 처음 실행하려면 다음과 같이 합니다. ("ipfs command" 식으로 실행시킵니다. command로는 init, add, cat, daemon 등등이 있습니다.)

 

./ipfs init (윈도우에서는 cmd창 열고 ipfs.exe init 명령을 내리면 됨)

 

그러면 다음과 같은 식의 내용이 화면에 출력됩니다.

 

$ ./ipfs init
initializing IPFS node at /home/foobar/.ipfs
generating 2048-bit RSA keypair...done
peer identity: QmQ6jXXXX3BystDRzR2XXXXCMa46XXXXsqQXXXX4Nz9ZAS
to get started, enter:

        ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

 

※ 팁: 화면 말미에 출력된 것처럼 ipfs cat 명령을 실행시켜보면 다음과 같이 출력됩니다.

 

$ ./ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
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

 

브라우져 주소창에 다음과 같이 넣어도 위와 같은 출력을 얻을 수 있습니다.

 

https://ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

 

ipfs를 데몬 모드르 다음과 같이 실행합니다.

 

./ipfs daemon (윈도우에서는 ipfs.exe daemon 명령을 cmd창에서 입력. 8080 포트를 열것이냐는 방화벽 안내 창이 뜰 때 확인 버튼을 눌러야 함)

 

※ 팁: 게이트웨이 포트 8080이 이미 사용중이라면 다음과 같은 식으로 8080포트를 다른 포트로 고칠 수 있습니다.
./ipfs config Addresses.Gateway /ip4/127.0.0.1/tcp/8083

데몬이 실행되고 난 후에는 http://localhost:5001/webui 로 연결하면 자신의 IPFS 클라이언트 노드의 상태를 확인할 수 있습니다.

파일 추가

다음과 같은 식으로 파일을 추가할 수 있습니다

예를 들어 hello.txt 파일에 "Hello Ddengle.com" 이라는 내용을 넣은 후에 다음 명령을 실행시키면 hello.txt 파일이 추가되며,

 

$ ./ipfs add hello.txt

added QmdzHZHzXGYzLmHC8qYzDd3NJwihMMQrFSijMjHwjxsqvZ hello.txt

 

다음 명령으로 추가된 파일을 확인할 수 있습니다

 

$ ./ipfs cat QmdzHZHzXGYzLmHC8qYzDd3NJwihMMQrFSijMjHwjxsqvZ
Hello Ddengle.com

 

이렇게 ipfs cat 명령을 통해서 자신이 추가시킨 컨텐츠를 볼 수 있다면, 다음 링크를 통해서도 확인할 수 있게 됩니다. (시간이 좀 걸릴 수 있음에 유의)

 

https://ipfs.io/ipfs/QmdzHZHzXGYzLmHC8qYzDd3NJwihMMQrFSijMjHwjxsqvZ

 

이러한 방식으로 자신이 조금 전에 올린 hello.txt가 IPFS 분산 네트워크 파일 시스템에 올라간 것을 확인할 수 있습니다.

참고

- https://steemit.com/kr/@kblock/8-ipfs-interplanetary-file-system-1-http-web-ipfs-web
- https://miiingo.tistory.com/204
- https://medium.com/coinmonks/how-to-add-site-to-ipfs-and-ipns-f121b4cfc8ee
6,273

ethminer님의 서명

profile

주업은 오픈소스 프로그래머

 

ESN 디스코드 - https://discord.gg/hqHm69E

ESN 텔레그램 - https://t.me/ethersocialofficial

 

ESN 주소: 0x0c74e46b115e19726997dd559d2b6ff1bfb79af6

ETH 주소: 0x89307cb2fa6b9c571ab0d7408ab191a2fbefae0a

댓글 19
  • profile
    컴빠 2019.07.22 09:37
    오호 !
    케블리? kblock 님의 스팀잇 글이 저에겐 이해하기 쉽군요~
    여러가지의 기술들의 장점을 하나의 통합플랫폼으로 기획했고 공감가도록 만들었다는 것에 대단히 흥미롭습니다!
    좋은 정보 감사드립니다~!
  • profile
    아크마DK 2019.07.23 15:08
    ㅎㅎ 이거 개발한 친구들의 목표가 우주 정복인가 그렇죠~ 대단한 친구들 이죠!

    그런데 대략적으로 다 이해가 되지만 "한번 업로드된 파일의 이름은 영원히 기록. 파일 버전 관리도 가능." <-- 그럼 먼저 고유한 이름으로 올리면 선점 하는건가요? 마치 도메인처럼? ㅎㅎ

    그리고 잠깐 써봤을때 아쉬운건 속도가 아직은 실 서비스에 사용하기에는 좀 부족하다는 생각!

    그래도 대단하긴 합니다. 앞으로 어떻게 더 발전해서 사용될지 궁금하기도 하고요.

    좋은 정보 공유해주셔서 감사합니다.
  • profile
    소박하게캐자 2019.07.23 16:33
    근데 그럼 그 많은 데이터는 어디다 보관하나요?
  • profile
    쌩광부 2019.07.23 17:56
    @소박하게캐자
    P2P 파일 공유 시스템이라고 보면 되는데요.
    각자가 파일을 가지고 있는거고 그것을 서로간에 공유할 수 있게 해주는 기술입니다.
  • profile
    소박하게캐자 2019.07.24 09:40
    @쌩광부
    개인이 큰 공간을 유지할까요??? 흠 기술이 알면 알수록 구현 가능성이 좀 의구심이 ㅋㅋ
  • profile
    ethminer 2019.07.28 02:27
    @소박하게캐자
    개선은 계속 되겠으나, 이미 필수적인 요소는 구현된 구현체입니다.
    토렌트의 P2P 기술을 사용하기때문에 공간은 문제가 안되죠. 개개인의 작은 저장 공간이 모여 거대한 네트워크 파일 시스템의 일부가 되는 것이고, 결국 문제는 seed를 어떤 식으로 유지할 것인지 등등.
  • ?
    Stims 2019.07.24 01:08
    관리하기가 어려워서 웹 서비스로 쓰기 애매하고, 보안도 문제가 있네요.
  • profile
    도원Dowon 2019.07.26 22:48
    만약 범죄 사진이 IPFS 에 등록된다면 검열을 통한 삭제가 가능할까요?
    검열저항성에대해 제일 궁금한 부분이기도 합니다
  • profile
    ethminer 2019.07.28 02:28
    @도원Dowon
    P2P 시스템이 + 위치에 기반된 시스템이 아니기때문에 검열 저항성을 갖는다고 합니다
  • profile
    도원Dowon 2019.07.28 13:44
    @ethminer
    검열저항성을 갖는지 물어본것이 아니고 쉽게말해 리벤지포르노 사진 하나를 누군가 ipfs 에 올려버리면 그걸 어떻게 막느냐는거죠
    아니면 아무것도 막지말고 모든것을 자유롭게 쓰자는것이 추구하는바인지...
  • profile
    도원Dowon 2019.07.28 13:46
    보통 검열저항성을 이야기할때 사상표현의 자유, 정부나 감독기관의 검열의 문제점에 대해서 지적하곤 하던데요
    그 반대, 검열저항성을 이용한 범죄나 무분별한 이용에 대해서는 잘 이야기 안해주더라구요
  • ?
    루미팜 2019.07.29 07:18
    ARWEAVE

    https://www.arweave.org/
  • profile
    poleax19 2019.07.29 07:41
    @루미팜
    서버에 설치해서 CPU 100% 계속 짝는 걸 감수하고 노드 마이닝 반나절 정도 돌려봤는데..
    뭐 지갑에 들어온 건 당연히 없었고요..ㅎㅎ
    저게 감당이 되는 컨셉인가 싶기도 한데.. 의도는 참신해 보이고 API도 잘 준비된 것 같더군요.
  • ?
    루미팜 2019.07.29 08:21
    @poleax19
    마이닝은 해보질 않아서 ㅎㅎㅎ

    제가 관심두고 있는코인이랑 파트너쉽 맺었길래 어떤코인인지 알게 되었습니다.
  • profile
    poleax19 2019.07.29 08:23
    @루미팜
    자노, 모네로 밖에 안떠오르네요..ㅎㅎ
  • ?
    루미팜 2019.07.29 08:33
    @poleax19

    LOKI 코인 이랑 파트너쉽 맺었거든요 제가 로키코인을 아주 좋게 보고 있어서
    로키는 일종의 토르 웹(TOR) 기능을 하는 믹스넷 을 만들었습니다.

    보통 마스터노드는 작업증명의 기능정도만을 하게되는데
    로키는 서비스노드라 칭하는(마스터노드) 기술을 만들었습니다.

    작업증명+믹스넷(TOR)+서버스토리지[email protected](추후 기능추가)를 만들었습니다.

     

    ARWEAVE가 LOKI NETWORK와 파트너쉽을 맺은건

     

    ARWEAVE의 영원히 사는 웹에 익명 믹스넷을 이용하여 업로드 하려는 계획 같습니다.

  • profile
    poleax19 2019.07.29 08:46
    @루미팜
    좋은 정보네요.. 고맙습니다.
    영원한 웹과 완전한 익명성이라.. 엄청 위험해 보이기도 합니다..ㅎㅎ
  • ?
    루미팜 2019.07.29 07:25
    현재
    글작성 100
    좋아요 9X200 1800
    댓글 10X12 120
    6195-2020 = 4175 (실제 조회수)
    조회수 약 7.52 배 뻥튀기
  • ?
    이솔루션 2019.08.25 18:03
    대박꿀팁

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
공지 [땡글운영위] 이사진 구성원 변경 공지 8 file 13 818
땡글운영위
2019.09.03
공지 로그인이 안되시는 분은 문의해주시기 바랍니다. 3 4 1722
땡글개발자
2019.08.21
공지 개인 정보 유출에 따른 사과문 54 file 8 3590
땡글개발자
2019.08.21
1673 개발 블록체인허브 개발자 모집 마땅히 올릴 게시판이 보이지 않아 이곳에 올립니다. 게시판 성격에 맞지 않으면 삭제하셔도 됩니다.   회사명 : (주)블록체인허브 담당업무 : 블록체인허브 사이트/앱 개발, 신규서비스 개발 계약형태 : 정규직 (수... 1 1 20828
문어
2019.07.22
1672 개발 BITMEX 역추세봇 개발 무료배포 안녕하세요.  5개월에 걸쳐 bitmex api를 이용한 데이터 쌓기, 알고리즘 백테스트, 이를통한 역추세봇을 개발하였습니다. 많은 트레이더 분들이 원웨이가 나올 시 역추세 거래의 위험성에 대해 아실텐데요.   이를 극... 10 file 21680
coindori
2019.07.22
개발 IPFS 따라해보기 IPFS(InterPlanetary File System)란 무엇인가? IPFS는 차세대 웹 3.0에 필수 요소의 하나라고 일컫을 수 있을만한 분산 저장소 구현중의 하나입니다.   기존 웹의 가장 큰 단점이라 할 수 있는 것 중 하나는 바로 &quot;... 19 9 32375
ethminer
2019.07.20
1670 질문 개발에 무지한 초보가 질문 드립니다 ㅜ   개발쪽에 관심이 많은 코린이 입니다   시세표라는 걸 한번 만들어보고 싶은데   땡글 닷컴에서 사용중인 아래와 같은 시세표를 제작하는게 어렵나요?   연습삼아서 한번 직접 만들어보고 싶은데 참고 할만한 정보... 9 file 1 22167
지정생존자
2019.07.19
1669 개발 이더리움은 인터넷을 지배하게 될까요? 아마도 땡글의 많은 분들은 이더리움으로 대박이 나셨고, 이더리움으로 큰 손실도 입으신 것으로 압니다.   이더리움은 비교적 최근까지도 땡글 내의 가장 인기있는 채굴 코인이었으며, 여전히 땡글의 많은 회원 분들... 16 8 38089
ethminer
2019.07.17
1668 질문 자동 코인 거래를 위한 시스템? 을 개발하고 있습니다.   봇에 거래소 API 키 및 코인, 금액을 세팅하고 활성화 시키면 24시간 해당 코인의 가격을 보다가    지정된 가격에 도달하면 매수/매도를 걸게 되고, 동시에 라인 및 텔레그램으로 알람을 보내주는 형태입니다.   ... 12 25192
몬스터에너지
2019.07.13
1667 개발 룸네트워크의 메인넷 소스코드 공개 룸네트워크를 들어보신 분 많으실겁니다. 룸네트워크의 Loom 토큰이 업비트에도 상장되어 있으며, DPoS 컨센서스 기반의 룸네트워크 메인넷, 일명 &quot;플라즈마체인&quot;(Plasma Chain)으로 유명하고, (DPoS는 EOS에서도 사... 4 file 3 24657
ethminer
2019.07.12
1666 개발 이더리움 노드 소스 (go-ethereum) 버전 1.9.0 릴리스 7월 10일 날짜로, 이더리움 코어 소스코드 (go-ethereum) 버전 1.8.0이 나온 2018년 2월 14일 이후로 1년 5개월여만에 1.9.0 버전이 나왔습니다! 간단 요약 - full/fast/archive sync 성능 향상 (속도 향상 / 저장용... 1 file 3 24468
ethminer
2019.07.12
1665 질문 후오비 API 원화마켓     안녕하세요,   고수분들의 조언이 필요합니다...   후오비 API 로 원화마켓 가격을 가져오고 싶은데 symbol에 KRW를 넣으면 respose가 없네요.   예) usdt는 잘 작동하는 https://api.huobi.pro/market/depth?sym... 2 24328
lkjdf
2019.07.11
1664 개발 클레이튼 소스 코드 간단 분석 소스분석이랄것까지는 없습니다만   현재 공개되어 있는 클레이튼 소스코드를 간단히 점검하는 기분으로 살펴보았습니다.   공개된 클레이튼 노드 소스코드 https://github.com/klaytn/klaytn   1. 클레이튼 노드의 ... 18 6 26365
ethminer
2019.07.10
1663 질문 Geth, smart contract 해킹 관련해서 질문드립니다.   Private key 가 탈취당한 것 같습니다. 잠재적인 해킹 위험으로부터 해커가 움직이기전에 먼저 손을 쓰고싶습니다.   예를 들면 신규 지갑으로 자산 전체 이동 Private key 변경? (이건 불가능할 것 같구요)   스마... 3 24174
Larcenciel
2019.07.10
1662 질문 현재 EOS 풀노드 용량이 얼마나 되는지요?         현재 EOS 풀노드 용량이 얼마나 되는지요?               3 24325
김대박
2019.07.09
1661 개발 이더리움 트랜젝션 처리속도를 25 TPS라고 하는 이유 이더리움의 초당 트랜젝션 처리 가능 회수는 15 TPS라고 알려져있습니다. 그러나 좀 더 찾아보면 20~25 TPS라는 내용도 나오긴 하는데 이에 대해서 간단히 살펴보도록 하겠습니다. 현재의 이더리움 네트워크의 블록 ... 3 file 4 24717
ethminer
2019.07.08
1660 개발 사달라 자동매매봇 업데이트 했습니다.     안녕하세요. 마루마루 입니다. 이전에 트레이딩봇 관련해서 테스트 버젼을 올렸었습니다.   이전글 참조 [ https://www.ddengle.com/traders_free/11193656 ]   당분간 유료화 예정이 없어 기본사용자 제한인 1인... 1 3 25274
마루마루
2019.07.05
1659 질문 서버 이전중에 코인이 싹 사라졌습니다. 코인은 라이트코인 포크로 만든 새로운 코인이구요.. 서버 이전이 있어서 (A --&gt; B)   1. A 서버에서 계정들과 코인수량 다 확인하고 2. B 서버에서 데몬 실행, 정상적으로 블록이 쌓이는 거 확인 후 종료 3. wallet.... 12 2 25813
비폭력무저항
2019.06.14
1658 질문 이더리움 블록데이터 동기화 관련되어 질문있습니다.   리믹스를 통해 컨트랙트를 배포하는 중에 이더리움 노드가 아래와 같이 에러문을 출력하여 다시 재 실행 시켰습니다.  다시 재실행하고 동기화 상태를 체크해보니 사진과 같이    currentBlock이 startingBlock 숫... 3 file 24073
나비잠
2019.06.13
1657 개발 이런 코인있으면....   로그인 할때마다 코인자동으로 지급해주는 코인 어떨까요 웹싸이트들 대부분 수익모델이 제로입니다 이걸 로그인코인이 보상해주는 거조 채굴보상대신 로그인마다 코인을 주는거죠 그러면 수익때문에 좋은 서비스 ... 1 1 24433
독수리
2019.06.11
1656 질문 암호화폐/주식 교육 사이트를 만들고 있는데 PG,결제연동사가 허락을 안해주네요; 다른 동영상 강의 사이트들은 PG연동에 문제가 여태 없었는데   암호화폐랑 주식은 안된다고 거품물고 반대 하네요; (도서는 된다고 하는데.. 클라이언트가 책은 생각이 없다고 해서..)   그런 이유로 골머리를 앓고 ... 9 1 25592
딥러닝은개뿔
2019.06.11
1655 질문 block.io cURL 처리 방법 아시는 분 연락 부탁합니다(수고비드림)   https://block.io/api/simple/curl https://block.io/api/simple/signing 에서 Withdrawal Actions 처리 방법을  알려주세요.   카톡아이디:imbctab63 수고비 드립니다. 꼭 도아주세요!!!                     ----... 1 23857
부자대박
2019.06.10
1654 개발 이더리움 블록체인과 영지식 증명 스터디원을 모집합니다^^   안녕하세요. 철학자입니다.   이더리움 블록체인 스터디그룹인 D-lab의 &lt;Awesome ZKP&gt;분과에서 공부 같이하실 스터디원을 모집합니다^^   &lt;Awesome ZKP&gt; 분과는 현업 이더리움 블록체인 개발자 다섯분으로 이루어져... 1 24985
철학자
2019.06.07
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 85 Next
/ 85

개인 정보 유출에 따른 안내

개인정보 유출에 따른 사과문

https://www.ddengle.com/board_free/11420106

8월20일 땡글 해킹사고 경과 보고

https://www.ddengle.com/board_free/11420345

로그인이 안되시는 분

https://www.ddengle.com/board_free/11420465
8월18일~20일 해커에 의해 땡글 사이트에서 땡글 회원님들의 아이디 및 비밀번호가 유출되고 있음을 발견하였습니다.
더이상 피해가 발생하지 않도록 조치된 상태이나 일부 사용자의 개인정보가 유출되었으며, 해커는 추가적으로 사용자 정보를 불법적으로 공개하겠다고 합니다.
  • 최근에 접속한 사용자의 경우 ID와 비번이 유출되었을 가능성이 높습니다. 최대 비번을 꼭 바꿔주시기 바랍니다. (특히 8월부터 8월21일까지)
  • 최근에 접속하지 않은 사용자의 경우에도 해커는 사용자 정보를 입수하여 그 일부 정보를 불법적으로 공개하였습니다.
  • 해커에 의한 사용자 도용을 방지하고자, 최근 수개월간 비번 변경을 하지 않은 약 1만8천명의 사용자를 이용정지시켰습니다.
이 글을 보시는 땡글 유저분은 자신이 계정이 정지된 상태라면 [email protected] 혹은 [email protected] 으로 메일주셔서 자신임을 간단히 인증하여 다시 계정을 활성화시키는 해킹 안내메일을 받으시기 바라며, 혹은 기존 계정 삭제 요청을 해주시기 바랍니다.
Close