ipfs에 파일을 추가할 때 다음과 같은 일이 발생합니다
1. 파일을 IPFS에 추가하면 파일이 더 작은 청크로 분할, CID부여
2. 다른 노드가 파일을 조회할 때, 파일의 CID가 참조하는 컨텐츠를 저장하고 있는 피어 노드에 묻는다.
3. 노드는 컨텐츠를 영구적으로 유지하기 위해 컨텐츠를 고정하거나, 공간 절약을 위해 한동안 사용하지 않은 컨텐츠를 삭제한다.(가비지 컬렉션)
즉, 네트워크의 각 노드는 관심 있는 컨텐츠만 저장하고 어떤 노드가 무엇을 저장하고 있는지 파악하는 데 도움이 되는 일부 인덱싱 정보를 저장
이때, cid를 통해 ipfs에 있는 파일에 접근할 수 있는데, 그 중 게이트웨이를 이용한 방법과 ipfs네트워크에서 파일에 직접 엑세스 하는 방법에 알아봅니다.
게이트웨이
1. 사용자는 IPFS 네트워크에 있는 파일의 해시 ( CID )가 포함된 URL을 사용하여 특정 파일에 대한 요청을 게이트 웨이로 보냅니다. >> ex) https://gateway.ipfs.io/ipfs/{CID} 로 접속
2. 게이트웨이는 IPFS 네트워크에서 파일을 검색하여 사용자의 웹 브라우저로 전송
(실제 검색은 게이트웨이에서 이루어지는 것이 아니라 게이트웨이의 연결된 ipfs 검색 서비스 애플리케이션에 의해서 검색이 수행)
이 프로세스를 통해 사용자는 IPFS 노드를 실행할 필요 없이 일반 웹 브라우저를 사용하여 IPFS 파일에 액세스
단점 : 게이트웨이는 프록시 역할을 하며 파일의 최신 버전이 항상 있는 것은 아닙니다. 또한 게이트웨이는 제3자에 의해 운영되며 중단 시간, 검열 또는 귀하가 통제할 수 없는 기타 문제의 대상이 될 수 있습니다. IPFS 콘텐츠의 최대 보안, 안정성 및 속도를 보장하려면 자체 IPFS 노드를 실행하거나 신뢰할 수 있는 IPFS 호스팅 공급자를 사용하는 것이 좋습니다.
노드를 실행해 파일에 직접 엑세스
1.ipfs daemon 명령을 실행하여 IPFS 노드를 시작합니다. 그러면 IPFS 데몬 프로세스가 시작되고 IPFS 네트워크와 상호 작용할 수 있습니다.
(로컬 노드를 통해 직접 IPFS 콘텐츠에 액세스하려면 시스템에서 활성 IPFS 데몬 프로세스를 실행해야 합니다)
2. IPFS CLI 명령 ipfs cat <CID>를 사용하여 이미지 콘텐츠를 이진 파일로 검색한 다음 프로그램이나 라이브러리를 사용하여 이진 데이터를 이미지 형식으로 디코딩
IPFS 데몬을 명시적으로 설치하지 않고 ipfs-core 라이브러리를 사용하여 IPFS 네트워크와 상호 작용할 수 있지만 전체 범위의 IPFS 기능에 액세스하거나 네트워크에 완전히 참여하지 못할 수 있습니다. |
아래 사이트는 IPFS의 Public Gateway 리스트와 각 게이트웨이의 속도를 확인 할 수 있는 사이트니 참고 바랍니다.
https://ipfs.github.io/public-gateway-checker/
'IPFS' 카테고리의 다른 글
IPFS기반 NFT거래소 구축 (0) | 2023.07.11 |
---|---|
IPFS 폴더 업로드 (1) | 2023.03.29 |
ElasticSearch를 이용한 IPFS 검색 속도 개선 (0) | 2023.03.27 |
IPFS 파일 추가 (add, pinning) (0) | 2023.03.27 |
NFT marketplace와 IPFS, 응답 지연 해결 방법 (0) | 2023.03.27 |